Have you guys looked at the Sun's experimental microkernel, Spring?
There is a set of tech reports on it, one of them describing their
shared library implementation: "High Performance Dynamic Linking
Though Caching." (SMLI TR-93-15). I am a little busy to go into
the details now, but I will quote the abstract:
"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 indendent
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."
Note that these techniques are to be used in a full blown Unix microkernel
environment, where 32MB DRAM is the norm. In a smaller environment like
VSTa, a smaller scale implementation would probably be better. But at
least this paper may provide some ideas.
later,
_stuart:
Received on Fri Aug 27 13:47:28 1993
This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 19:37:12 PDT