idspispopd wrote:Actually I recently read an interesting article.
http://geoffchappell.com/notes/windows/license/memory.htm
The article is mainly […]
Show full quote
Actually I recently read an interesting article.
http://geoffchappell.com/notes/windows/license/memory.htm
The article is mainly about how Windows Vista 32-bit can be patched to be able to use more than 4GB of RAM, but as a side-note the author claims that Windows XP without service pack or with SP1 at most can use more than 4GB.
(I was originally researching the options for a current 4GB notebook running Windows 7 64-bit to access a printer/scanner for which only a Vista 32-bit driver is available.)
Here is a relevant snippet:
Note that for nearly 5 years, i.e., from Windows 2000 up to but not including Windows XP SP2, Microsoft did not actually prohibit the use of memory above 4GB by any editions of its current Windows product, whether for servers or clients.
...
Special mention must be made of Windows XP SP2 and SP3. If you were fortunate enough to have 4GB in a machine for running a client version of Windows up to and including Windows XP SP1, and your hardware had memory remapping so that some of your 4GB was above the 4GB address, and your third-party drivers worked correctly with memory above 4GB, then you will have faced an unfortunate side-effect when upgrading to Windows XP SP2: you will have bought a downgrade of how much RAM Microsoft permits you to use.
There is a lot of good information in there, but then there's this corker:
PAE is nothing like that. It is no more a concern to any software than is paging. After all, it is nothing but a variant algorithm for paging. Just as hardly any software is concerned that linear addresses are translated to physical addresses, even less software is affected by how linear addresses are translated to physical addresses. Application-level code and even most system-level code is entirely unconcerned and unaffected. Except for the operating system’s memory manager and for the relatively few drivers that work with physical memory addresses, most notably for Direct Memory Access (DMA), no 32-bit software needs any recoding to benefit from a more-than-32-bit physical address space.
Which is utter bollocks.
http://www.msfn.org/board/topic/130001-32bit- … ng-all-4gb-ram/
The specific workaround used in Windows is called Physical Address Extension (PAE), which was added by Intel in the Intel Pentium Pro and Pentium II lines of CPUs (and continued subsequently to this day) to allow data (and data ONLY) to be mapped into RAM above the 4GB memory address range - however, there is a set of limitations on this. The first limitation is that this window to the RAM above 4GB *must* be mapped into a contiguous memory address range in the application's original 2GB (or 3GB, with /3GB) process space, because again the x86 architecture can only address memory up to the 4GB range (so mapping it into this window allows it to be addressed, with the application handling the management overhead). That brings us to the second limitation, specifically that this window must be managed entirely by the app, as I mentioned previously - there is no using the OS's memory manager, as the memory manager does not know how to handle memory above the 4GB boundary in a process' space, thus placing an overhead on the app.
So, yeah, pretty much not worth the effort unless you're building an Oracle server on a 32-bit OS.
VogonsDrivers.com | Link | News Thread