I react to the notion that shared libraries can be placed
"at random" in free space. Lisp systems, database systems,
numeric systems (e.g. large matrix computations), all rely on
large, contiguous blocks of storage. In fact the size of the
problem they can handle depends on the size of contiguous
storage. I don't understand why fragmenting free storage
helps security. I certainly understand why it hurts certain
applications.
I've already explained how to reserve arbitrarily large portions of the
address space ahead of time for the application's exclusive use.
Is that not sufficient control for your needs?