I've always wondered since I first saw that Windows doesn't see my whole 4GB of RAM installed, but rather shows that I've got only 2.75GB. I did some research and I've found out it says that Windows (32bit) can only display 3GB max. One website says it uses only 4GB of "address space" which I don't understand!
Then, after I've updated my Windows Vista to SP1, the total amount of RAM was restored from 2.75GB to 4GB. But does Windows shares a portion of my RAM with the other hardwares installed on my rig (if the RAM exceeds 3GB)? And if it does share when 3GB of RAM is present or even more, why doesn't it also share the RAM when it's less than 3GBs? And with the SP1 being installed with the whole 4GB shown, does it still share some of the RAM with the hardwares? Or can I really take use of the full 4GB?
Address space means total amount of memory addressable by the OS. With a 32-bit OS, this equals 4GB... but because all of your other devices (video cards, hard drives, etc) also have memory that must be addressed... all of the memory on these devices added together is subtracted from that 4GB total. Whatever space is left is used to address whatever RAM you have installed.
PAE isn't enabled in Windows desktop OSes... only in Server editions. There is no PAE option in the BIOS... it is a feature built in to x86 CPUs. All this did was add 36-bit address tables to enable support of up to 64GB of RAM. The problem is, most drivers and software weren't written to take advantage of PAE... so it cause a lot of issues on the desktop. MS decided it would enable PAE for servers, as the drivers can be more tightly controlled on server platforms.
Vista SP 1 and I believe XP SP 3 (both 32-bit) made a cosmetic change only... they will both now display the amount of RAM installed... but they are still limited to 4GB of address space. That means they will still use less than the full 4GB of installed RAM.