Saturday, May 21, 2011

Why 32 bit Operating System Does Not Support More Than 4 GB RAM

On any 32-bit Operating System (not only Windows), you only have access to 4GB of address space by default. A 32-bit Operating System can actually handle 4GB of memory. The issue is the way in which the hardware allocates memory for its own resources. The hardware needs to allocate memory space to use for things like the PCI bus, BIOS, the video card and others. It allocates this from the address space presented to it, which is not necessarily the same as the amount of physical RAM installed. Also of note, it allocates this memory from top to bottom. The problem is, when you have 4GB of RAM installed, the amount of physical memory installed is the same as the address space. If you have 4GB RAM, and the hardware needs to allocate a large chunk of memory for its own use, and it does this from top to bottom, the memory that is blocked off starts at 4GB and allocates downwards. So, the final amount of RAM the OS will be able to see is the difference. This is because when it actually allocates for the physical RAM in the system, it has to skip the chunk that was blocked off by the hardware. Since a 32-bit OS can only see 4GB, the rest of the RAM is invisible because it is above the 4GB barrier. By using the /PAE switch, you enable the OS to see above this barrier, and you can see all of your RAM, sometimes. The real problem comes back to hardware. The OS can only handle whatever resources are shown to it by the hardware BIOS. If the hardware does not support a large enough addressing range, then it simply won't report anything above that so the OS is in the dark. If the hardware supports 36-bit PAE Intel Extensions or the AMD equivalent, and you use an OS that supports PAE, you should be able to enable both and see all of the RAM.

Source: 1. http://blogs.msdn.com/oldnewthing/archive/2006/08/14/699521.aspx

Source: 2. http://www.codinghorror.com/blog/archives/000811.html


0 comments:

Post a Comment

 
Design by Free Wordpress Themes | Bloggerized by Lasantha - Premium Blogger Templates