High Performance Dynamic Linking Through Caching
Michael N. Nelson and Graham Hamilton
Sun Microsystems Laboratories, Inc.
Mountain View, CA 94043 USA
The Spring Operating System provides high performance dynamic linking
of program images. Spring uses caching of both fixed-up program images
and partially fixed-up shared libraries to make dynamic linking of
program images efficient, to reduce the need for PIC
(position-independent code), and to improve page sharing between
different program images running the same libraries. The result is
that with program image caching, dynamically-linked programs have a
start-up cost similar to statically-linked programs regardless of the
number of unresolved symbols in dynamically-linked program images and
shared libraries. In addition, with library and program image caching,
we have reduced the need for PIC and have increased page sharing.
Download the full text of this paper in
ASCII (48,065 bytes) form.
To Become a USENIX Member, please see our