|
Copyright 1992 IEEE. Reprinted with permission. A version of this paper appears in the IEEE Proceedings of the Second International Workshop on Object Orientation in Operating Systems, Dourdan, France (September 24-25, 1992).
We describe an algorithm and implementation of dynamic linking that allows one user process to link a program in another address space without compromising the security of the other address space and without requiring the linking process to enter kernel mode. The same technique can also be used to load program code into an existing address space, e.g., for debugging or other purposes. The implementation makes extensive use of objects in the Spring object-oriented operating system. We have extracted the dynamic linking function from out operating system, and made it available to user programs as a replaceable library service. In the process, we have taken advantage of features present in a modern, object-oriented operating system to simplify the dynamic linker.
Categories and Subject Descriptors:
- C.2.4 Computer System Organization:
- [Computer-Communications Networks] Distributed Systems - Network operating systems
- D.4.9 Software:
- [Operating Systems] Systems programs and utilities - Linkers; Loaders
Additional Keywords and Phrases: Spring operating system; Object-oriented programming
|