My recent column about memory concerns with a desktop system upgrade (see the URL below) generated a lot of reader response, most in the "please follow up on this issue" vein. But a surprising number of readers asked questions that made it clear they don't understand how a computer and OS utilize memory.
From the OS's perspective, the amount of memory available to the OS is the amount that the hardware reports is available, regardless of how much memory is physically installed an enumerated. That was the issue that generated my original concern: a 4GB system that reported only 3200MB of available memory to the OS.
I found the answer to my original question in the support documentation for the motherboard: "On a system with 4GB of system memory installed, it is not possible to use all of the installed memory due to system address space being allocated for other system critical functions." I knew that system resources took memory space but was surprised by the 750MB being reserved for PCI Express features. A few readers told me that their server-class systems had motherboard settings that let them move the PCI memory space above the 4GB line; that feature isn't available in the family of desktop motherboards I'm using.
Readers also pointed out that if I use 64-bit Windows, I can map the system resource memory to another location so that the physical memory will be available for applications. I plan to install 64-bit Windows as an alternate OS on this computer, but none of the applications I use on a daily basis are available yet in native 64-bit versions.
But what I want to address this week is a clear misunderstanding about how system memory works. I received several email messages that asked question such as, "Does this mean that I can't use PCI Express on a system that has only 512MB of RAM?" or "Will I only have 256MB of useable memory in a 1GB system?"
Neither of those situations is a problem. The system resources aren't taking away large chunks of installed memory; the system resources reserve memory space at the top of the 4GB memory range addressable by a 32-bit processor. If this system board has less than 4GB of physical memory installed, the memory use is pretty much invisible to the user. Only when a user has 4GB of physical memory installed does the problem become obvious.
The computer that I used to generate this column reports 896MB of memory reserved for system resources (down from 1126MB after a BIOS update) and 3200MB of memory available to the OS. This means I paid for a fourth 1GB bank of RAM that's effectively unusable; the system would have the same performance and virtually the same OS memory if I had installed only three banks of 1GB memory. This problem doesn't affect systems with 3GB of memory or less. It will be a concern only to those of us who find a need for the maximum amount of memory the system claims to support. The reality of the situation is that with a 32-bit OS, motherboards that support PCI Express and can't map memory above 4GB, won't have the full 4GB addressable range of memory available to applications.
Troubleshooting a Memory Problem During a System Upgrade