Summary of the recent spate of /3GB articles
A table of contents now that the whole thing is over. I hope.
- The oft-misunderstood /3GB switch. It’s simple to explain what it does, but people often misunderstand.
- Kernel address space consequences of the /3GB switch. An adverse consequence of the /3GB switch.
- Myth: Without /3GB the total amount of memory that can be allocated across all programs is 2GB. Virtual memory is not virtual address space (part 1).
- Myth: Without /3GB a single program can’t allocate more than 2GB of virtual memory. Virtual memory is not virtual address space (part 2).
- Myth: You need /3GB if you have more than 2GB of physical memory. Virtual address space is not physical memory.
- Myth: The /3GB switch expands the user-mode address space of all programs. A program must request it before it gets it.
- Why does Exchange recommend /3GB if you have more than 1GB of physical memory? Bologna and cheese sandwiches.
- Myth: The /3GB switch lets me map one giant 3GB block of memory. There are still holes in the virtual address space.
- Why is the virtual address space 4GB anyway? That’s what happens when you have 32-bit pointers.
- Myth: PAE increases the virtual address space beyond 4GB. PAE is an extension for physical address, not virtual addresses.
- Myth: In order to use AWE, you must enable PAE. The two are independent. AWE is how programs access physical memory. PAE is how the CPU accesses physical memory.
- The curious interaction between PAE and NX. NX uses a feature available only in PAE mode.
I’m not sure how successful this series has been, though, for it appears that even people who have read the articles continue to confuse virtual address space with physical address space. (Or maybe this person is merely mocking a faulty argument? I can’t tell for sure.)