I've just seen another blog post that talks about the Windows 4GB memory limit
Here is a link to a series of posts on Raymond Chen's excellent blog that explains this in detail, I'm posting this link here so I'll have quick access to it the next time I read about the 2/4 GB limit.
The short version, address space is not the same as virtual memory is not the same as virtual memory.
On 32bit systems a single process (not the entire system) is limited to a 4GB Address Space (not memory) (and it can use only 2GB out of it, the other 2GB belongs to the kernel) but each process gets its own private address space – so if you run more then one program each has its own private address space with each own private useable 2GB (an another shared 2GB for the kernel) so with just 4 programs you get a whopping 10GB of usable memory.
If you read the linked posts you will see a process can even use more memory then fits in the address space – it's just more work to write it.
The maximum amount of memory 32bit Windows can use it between 16GB and 128GB depending on your hardware and configuration.
posted @ Tuesday, July 24, 2007 10:13 AM