On Wed, Jul 09, 2014 at 12:24:58PM -0400, John Wilson wrote:
[...]
It seems as if 32-bit API support for PAE kind of
didn't happen -- wasn't
AWE32 supposed to be a thing on Win32? I couldn't make it work in real life.
And I couldn't find a Linux equivalent. So I find it funny that if you want
E11 to use the crazy amount of memory your new PC has, you have to use the
DOS (or stand-alone) version, rather than one of the OSes that actually knows
how to use all that memory. (If someone wants to set me straight about
mapping windows to 64-bit memory space from a 32-bit program, I'd love to
hear about it please.)
That's a bare-metal mentality, which doesn't translate well to how things are
done in the Unix world.
The short answer is that if you're processing data that doesn't fit in your
available address space, you're just going to have to spill over to a file and
let the disk cache sort it out. However, you can use mmap()/munmap() to map
files into and out of your address space and use them like memory.
The long answer is basically a lecture on modern virtual memory operating
systems in which Linux and Windows are both held up as typical examples of the
genre, but I don't currently have the time or inclination to give it.