AW: Dynamic system memory use

Andreas Raab Andreas.Raab at gmx.de
Fri Feb 1 23:14:55 UTC 2002


Lex,

> One possibility is to substitute a different malloc() library that
> doesn't use sbrk(), and try to convince the system libraries 
> to use your substitution.  Feasible, but whenever I start thinking of 
> spending that much effort on it, I start wondering how hard it would
> really be to make a segmented memory manager....

It's not _that_ hard but it's not exactly trivial either. The major
point is fixing GC to honor the constraints imposed by segmented memory.
In other words, you'd have to identify segments and not touch anything
inbetween them. This is effectively equivalent to having "fixed" objects
(e.g., objects that are unmovable by the garbage collector) and that
would actually be a valuable addition to Squeak in general ;-)

BTW, I am seriously surprised that even today there are no better ways
of having user-level virtual management functions on *nix. In the end, a
lot of applications (like OODBs) can benefit _greatly_ from these
abilities and the inherent instability of the described schemes doesn't
sound like *nix at all. Isn't it ironic that Windows can get this
actually right?!

Cheers,
  - Andreas





More information about the Squeak-dev mailing list