AW: Dynamic system memory use

Marcel Weiher marcel at metaobject.com
Sat Feb 2 00:09:36 UTC 2002


On Saturday, February 2, 2002, at 12:14 , Andreas Raab wrote:

> 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?!

This is where Mach really shines, as it provides the user-level pager 
facility (EMMI in Apple parlance).  This means that you can plug into 
the kernel's VM activities and manage your own memory.  So you get 
page-out, page-in requests from the kernel delivered to your 'memory 
object', allowing you to handle them.  Meaning you can actually work 
*with* the kernel's VM subsystem instead of trying to second-guess it, 
adding the information you have about your own app's paging patterns to 
the knowledge the kernel has about global VM use.

So when the kernel wants you to page out some memory, you can decide to 
kill some caches instead, or maybe do a GC.  You can also create 
demand-filled lookup tables, do object-swapping, whatever.

Marcel




More information about the Squeak-dev mailing list