- A 32 bit OS can only use 4GB of memory total, that means if you have 4GB of ram and your graphic card has 1GB of ram, you have a total of 5GB of memory.
- Out of that 5GB of memory, you can only use 4GB total. 1GB the graphic card will take up, so now the 32bit OS can only use 3GB.
- Enabling PAE, will limit to the OS to 2GB total. What PAE does is dedicate 2GB to OS and the other 2GB to anything other then the OS. Apparently some people don't understand how PAE works and think that some how it can magically make a 32bit XP use more then 4GB, which is impossible, so after noticing my explanation is not getting through, I thought a visual from MS itself might help sink it in, you can see it here: http://www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx
- The 'fact' above is the perfect example of this misunderstanding. PAE has nothing to do with the user and kernel pool being seperated.
- Many confuse virtual memory with physical memory. All requests for memory by applications; that is running processes, such as explorer.exe, wmplayer.exe, dwm.exe, iexplore.exe, etc; are furfilled using virtual memory. Virtual memory is just an abstraction which includes physical memory and your pagefile(s). Yes, virtual memory includes physical memory!
- Vista 32bit can see only 3.5GB of ram total. The new sp1 only reports how much memory you have installed, not how much memory you can use.
Whomever wrote this ^.
You should actually read the article you posted a link to. I quote:
"
Introduction
PAE is an Intel-provided memory address
extension that enables support of greater than 4 GB of physical memory
for most 32-bit (IA-32) Intel Pentium Pro and later platforms. This
article provides information to help device driver developers implement
Windows drivers that support PAE."
Sounds to me like your FACTS, might not be FACTS?
AH! I was going to post these 'inconvenient facts' myself. the 'PAE' (please READ about your acronyms, people!) means 'Physical Address Extension'
Why is that important? the last word, really. 'Extension'. this does NOT enable you to use more than 4GB ram. Face facts people. This is a form of some memory management features,
more than anything else. This isn't even a 'Microsoft thing'. it's a 32-bit computing limitation. the 'Microsoft thing' part comes in because they've somehow given people
the idea that using this boot flag can somehow magically let your computer address more ram than any 32-bit OS is capable of.
I blame their marketing department. Stupid buggers.
And yes, there's a page on microsoft that DOES say that it allows you to use more than 4GB ram. THAT's where people got this idea.
If you want and bought more than 4GB of ram. suck it up and get a real 64-bit OS already.
You could afford the RAM, so go do it. If it's the cost of windows 64-bit that's stopping you,
go download the 64-bit version of ubuntu or something it's free. And if you hate MS, you should want to do that anyway.
But above all, quit ranting. MS isn't going to 'fix' anything because the users rant. This should be painfully obvious to us all by now.
I mean jesus, just look at IIS if you hope that they will one day 'fix' thier OS....
This isn't even a 'Microsoft thing'. ?
But yes, this is a Microsoft thing.
Linux PAE kernel supports 64 GB RAM, because how old 32 bit CPU-s work, and address the memory.
Intel 32 bit CPU-s (and AMD as well) uses Segment:Index addressing where the Segment is 20 bit wide, and the Index is 32 bit wide. However this doesn't mean an 56 bit wide memory address, just 36 bit, and as a result a single byte in memory can be addressed several ways.
Example
- segment:index: 0000:000000001 this is the second byte in the memory (technically, the :00000000 is the first)
- segment:index: 0000:000000010 this is the 17 byte in the memory, however this can alternatively be addressed by this: 0001:00000000
This is because the Segment part overlaps the Index part. Increasing the Segment part by 1 can be an alternative $10 (or decimal 16) increase in the Index side.
It is just the Windows operating system, that runs in protected mode where the Segment is not usable (they are pointers) and addresses the whole memory only by Index, which is a maximum of 4 GB.
The total addressable memory is exactly 4 GB multiplied by that Segment-Index relation - which is 16 - therefore it is 64 GB.
You can do the math for the 64 bit CPU, knowing that Segment size did not change (16 bit), but Index was increased to 64 bit, so the total addressable space is 2^68 = 256 exabytes.