Beyond just the kernel, could this work for all applications? If we
could add sections for initial code and data as well as terminating code
(if there is anything that can be classified this way...), then we could
reduce the memory usage significantly on a system. First, you'd never
need to keep the init code in memory. The terminating sections
(.endcode and .enddata?) could be left on disk, or just read into memory
and be among the first things swapped out to disk if memory gets tight.
It would save a decent amount of memory. How much work would it take to
add support into all the development utilities and possibly the swap
code to handle this?