Half of Windows 7 Machines Running 64-Bit Version
nk497 writes "Microsoft has said that nearly half of machines running Windows 7 are using the 64-bit version, up from just 11% of PCs running Vista. The 32-bit version is limited to 4GB RAM, while the 64-bit version allows 192GB, as well as added security and virtualization capabilities. While Microsoft is pushing 64-bit as a way to gain performance in the OS, it earlier this year advised users to install the 32-bit version of Office 2010, 'because currently many common add-ins for Office will not function in the 64-bit edition.'"
You try accessing more than 2GB of RAM (or 3GB of RAM with the /3GB switch in boot.ini) in a single process. What you end up having to do is (firstly) your own memory management (Which sucks) and having to manage multiple 2GB "windows" so if you want to read data you have to swap in an out of these "windows" to be able to read them as the kernel itself is only 32bit and can only directly address 4GB of RAM.
So you end up coding in what is known in Windows as "Addressable Window Extensions" and they are a pain in the arse. Doing this on SQL server and Oracle was basically a necessity, and when PAE was first thought of, this is exactly what was being thought about, database systems. They have been able to use PAE in VMware etc and other places as they give the upper and lower limits for memory address directly to the operating system (Windows, Linux whatever else is actually running in the VM) and then they address via the hypervisor that memory address space, meaning that the hypervisor doesn't have to do a lot of memory management (Certainly nothing like protected memory)
So in effect, the biggest reason for 32bit Windows 7 not supporting more than 4GB of RAM is because the kernel itself is a 32bit app and doesn't have the 64bit address space to directly address more than 4GB of RAM itself.
In the long term it's just too hard, and it's easier to code for 64bit than to deal with what are effectively kludges to make this work.
If you need to know more about this, I would suggest Mark Russinovich's Windows Internals book.
Curiosity was framed; ignorance killed the cat. -- Author unknown