Heh... nice writeup, Greg, but not completely updated, if I humbly may say so.

If one look at the MS support sites about this question, one will get as many different and contradicting explanations on the subject, as there are support numbers (Qxyz). Beats the crap out of most techs that I know.

However, I have built a large number of AV systems, and quite a number of those are with more than 4GB RAM, even up to 32GB. They all use the installed RAM without any problems, so I guess that at least *some* of MS's support sites are right, when some obviously aren't.

There is no "trickery" because the processor is not limited to 32 bits of physical address in PAE mode. PAE mode adds a third level of page table lookup and changes the page table entries (PTEs) from 4 bytes wide to 8 bytes wide. This gives more room for bits of physical page address, or "page frame number." In the first CPUs to implement PAE only four more bits were implemented, for a total of 24, or 36 bits of physical address. Thereby allowing 64 GB of ram to be directly addressed. No "trickery" is involved. It's the same address translation the MMU has been doing all along; the format of the lookup tables (page tables) is just changed.

As you may see, this is not as much an O/S question, as it's a CPU question. 
Nowadays, no problems when using a high grade processor.

This site pretty much nails it:

geoffchappell.com/notes/toc.htm

BTW, one of the finer benefits from using a large amount of RAM, is that the swap file can be allocated to RAM, which makes makes the system very responsive. This allocation usually takes place from top>down, depending on the method used (separate proggie, or just a .reg file).

./

Greg Sevart wrote:
Umm....not quite.

While it is technically possible to use more than 4GB of memory on a 32-bit
OS with PAE, Microsoft client operating systems will NOT use it. Even the
Standard SKUs of their Server operating systems will not use PAE--Enterprise
or Datacenter is required. (This actually gets even more convoluted--these
OS editions DO use PAE to implement NoExecute memory protection, but will
not actually use more than 4GB).

Furthermore, I think you're confusing user mode memory ("apps") with kernel
memory ("O/S"). By default, 32-bit versions of Windows XP with 4GB or more
memory installed will split the 4GB into 2GB of user space and 2GB of kernel
space. The kernel space is reserved for just that--the Windows kernel,
kernel mode drivers, etc. You can use the /3GB switch (4GT) to move this 2/2
split into a 3/1 user/kernel split. Absolutely anything over 4GB is not
used, and that's true for 32-bit versions of Windows XP, Windows Vista, or
Windows 7.
You may lose some of the 4GB address space for memory mapped devices, such
as video cards and other devices. This is why you will frequently see a
32-bit system with 4GB of memory only report 2.8-3.8GB. There's no
requirement that these devices be mapped to actual memory, just that they
have memory address space--so 64-bit systems with chipsets that support it
will remap actual installed RAM around the mapped devices. This means that
on supported systems and 64-bit OS editions, you don't lose any memory to
memory-mapped hardware devices.

In short: If you're running 32-bit versions of Windows XP, Windows Vista,
Windows 7, or Windows Server 2003/2008 Standard Edition, 4GB is your limit,
and some of that will always be reserved for hardware and kernel space.
Period.
If you're running 64-bit versions of the above, your limit essentially
depends on whatever MS has licensed for that OS edition. As examples,
Windows 7 Home Premium is 16GB, Professional is 192GB. Windows Server 2008
R2 Enterprise is 2TB. More detail, and the limits for all Windows OS
editions from 2000 to 7/2008 R2, can be found here:
http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx
Greg

-----Original Message-----
From: [email protected] [mailto:hardware-
[email protected]] On Behalf Of Soren
Sent: Monday, August 02, 2010 8:51 PM
To: [email protected]
Subject: Re: [H] new system build suggestions or upgrade

Sorry, not entirely true. There seem to be a common misunderstanding
about the O/S allocation of RAM.

E.g. WinXP can only allocate 3GB RAM for the O/S, which is often
enterpreted as the whole system can only make use of 3GB RAM in total.

Actually, XP can only use 3GB RAM for the O/S, any remaining RAM is kindly
allocated to applications with a max of 32/64GB for 32/64bit versions of
the
non-server O/S.
The rest is plain BS. XP typically uses less than 200MB, btw.

The 4GB story is coming from the first release of Vista not reporting the
correct amount of installed RAM (e.g. 4GB or 8GB showed up as 3GB), which,
quite understandable, lead to a great deal of confusion among guys like
us.
Both Vista32 and W732 run smoothly on +8GB RAM, same with XP.

The 64bit thing is driven by the market.

Someone wrote:
If you need 4G or more RAM then you're going to need 64 bit



Reply via email to