Check out the new USENIX Web site.

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 Membership Information.