[QUOTE="HowardB"]By default, 32-bit versions of Windows with 4GB of memory installed allocate 2GB to applications and 2GB to the kernel. This means applications only have access to 2GB of that 4GB of memory regardless of the amount that shows up after MMIO reservations. Many 32-bit applications won't use more than 2GB of memory even if it's available, such as when using the /3GB switch.
PAE isn't a work around for address space allocation. The idea behind PAE is to use the 36-bit address bus of the processor to map physical addresses above the 4GB limitation (up to 64GB). Even with PAE, though, you're still stuck with 32-bit addressing flags and rules, limiting the amount of memory each application can access to 4GB (2GB / 3GB to the application, 2GB / 1GB to the kernel). PAE only becomes useful when running multiple applications on multiple processors simultaneously.
If you really want to use more than 2GB - 3GB of memory, you have to move to a 64-bit operating system.
codezer0
Wrong again. There is nothing in Windows that has it taking up 2GB's of system RAM by itself. If that were the case, people who had systems with less than 2GB's of RAM would have run out and had nothing left to run anything else.I didn't say Windows uses 2GB of memory. I said WITH 4GB OF MEMORY INSTALLED, 32-BIT VERSIONS OF WINDOWS WILL ALLOCATE 2GB TO APPLICATIONS AND 2GB TO THE KERNEL. Allocate, as in allocate memory addresses, just the way MMIO addresses are reserved.
Applications running on a 32-bit version of Windows are limited to 2GB of address space. This address space includes both physical memory and page file, making the largest amount of physical memory a single application can address 2GB. Although, most applications will crash before using that much physical memory due to the page file exhausting the available addresses.
Here's an AnandTech article that discusses the problem.
Log in to comment