|
Windows Memory Has Physical, Design, and Marketing Limitations
Posted by Dave Methvin, Jul 25, 2008 03:40 PM
Mark Russinovich is one of Microsoft's best technical people,
and he shows that every time he makes a blog post. This week
he has a great post about the maximum supported memory in
different versions of Windows. I thought I knew this story
pretty well by now, but learned several new things about the
limits--and the interesting reasons behind them.
The blog points to an MSDN
article on memory limits, which does have a few quirks.
As the commenter on that page points out, why should 64-bit
Windows Vista Business (a desktop OS) allow 128 GB of RAM,
but 64-bit Windows Server 2008 Standard top out at 32 GB?
These are not limits born of technical reasons, but simply
put there by the marketing department to convince one group
or the other to pony up more money for what is essentially
the same OS.
There is a way for 32-bit Windows to access memory using a
technology called Physical Address Extensions (PAE). However,
Microsoft intentionally limited desktop XP and Vista to 4
GB of RAM because many third-party drivers did not work properly
when trying to access a memory address above 4 GB. Rather
than risk crashes and system problems, Microsoft made it impossible
to do.
This issue is compounded by hardware, particularly video boards,
that map some of their memory into the 4 GB address space.
Windows can do that fine, but in the process it maps some
real RAM into the space above 4 GB where it won't be accessed
by either applications or the operating system itself. That's
why you'll often see Windows use much less than 4 GB RAM on
32-bit XP or Vista, even if you've installed 4 GB of physical
memory.
I completely understand why Microsoft instituted the 4-GB
limit for 32-bit desktop operating systems by default, but
the finality of the implementation leaves something to be
desired. Since this was ostensibly a patch to work around
bad device drivers, it would have been good to have perhaps
a boot.ini option that technical users could use to regain
their missing memory. If I have well-behaved drivers, I should
be able to use them with more than 4 GB on 32-bit Window --
or at the very least, get a full usable 4 GB of RAM.
One point that Russinovich didn't emphasize, perhaps because
it's a hardware problem and not a Microsoft problem: many
Pentium 4 northbridge chipsets for portables and desktops
were limited until recently to addressing 4 GB of RAM. Even
if you install a 64-bit version of Windows on these systems,
you won't be able to install more than 4 GB of RAM, so it
doesn't help much. Server chipsets allow a more generous helping
of RAM as you might expect.
|