running directly from RAM on wince?

Raab, Andreas Andreas.Raab at disney.com
Mon May 28 22:26:52 UTC 2001


Hi Noel,

> So now consider the alternative, intended as an OPTION for suitable
> limited-memory devices: memory mapped files.  A 6 MB image in 
> the internal store takes up whatever compressed space in the
> object store is necessary to hold it.  A 6 MB image stored
> externally takes up zero memory from my device.  
> What about the heap?  At run-time, the address space necessary to
> map that file is separate from the 32 MB allotment given to 
> the program, and the RAM used to hold those pages is managed
> by the OS depending upon available memory.

Just for clarification, do I understand you correctly, that want to use
memory mapped files for basically providing a swap space and an address
space extension?! In this case, your key problem will be where exactly the
file gets mapped into memory - there is a fundamental assumption built into
the VM that old space comes before young space. As long as this happens in
the "right" order (e.g., the mapped pages come before the heap) you could be
pretty much okay; all that's needed is to "bridge the gap" between old and
young space during GC (which is not exactly easy but certainly doable; you
could for instance consider making the mapped files what VisualWorks calls
"perm space" and simply never do a GC on it).

BTW, one thing that sounds strange is that CE only gives you a 32MB address
space. Is this still true?! I would've guessed that if there's handling of
memory mapped files and all that stuff it should be beyound the 32MB barrier
by now...

Cheers,
  - Andreas





More information about the Squeak-dev mailing list