DragonFly kernel List (threaded) for 2003-09
Re: Relocation (Re: Package system)
:ibotty <me@xxxxxxxxxx> wrote:
:> btw: is someone interested in prelinking? on freebsd5, there is an effort to
:> prelink. but i do not know, how far this is.
:> if there is interest, i may dedicate some of my spare time to it (in one
:> month, more or less).
:prelinking is a really bad and ugly hack.
It kinda reminds me of Amiga shared libraries... in the UNIX address
space model, though, it's even easier. I'm not sure what this
so-called 'prelinking' actually is, but I know how I would implement it
The kernel manages a small section of reserved VM address space and
generates pre-loaded library images within that space. Library
dependancies are also preloaded and linked. When a user process
requests a library, if the user's VM space corresponding to
the kernel managed VM space is not in use, the kernel can simply map
its pre-loaded version (+ dependancies) into the user's VM space.
Not that I am going to actually do this any time soon. I do not
consider it to be all that important of an issue. There are no
significant performance gains, even for scripts, and memory is only
saved in certain particular situations (lots of non-forking
separately-exec'd instances). But it seems to me that it *can*
be done in a fashion that is totally transparent and fully compatible.