Cross-address space dynamic linking
James Kempf, Peter B. Kessler · 2003
The authors 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. They have extracted the dynamic linking function from the operating system, and made it available to user programs as a replaceable library service. In the process, they have taken advantage of features present in a modern, object-oriented operating system to simplify the dynamic linker.>