4 ms·
While a PAE system can address more than 4 GiB of physical memory, individual processes still use 32-bit pointers and are therefore still restricted to 4 GiB. I
by af78 2y ago
While a PAE system can address more than 4 GiB of physical memory, individual processes still use 32-bit pointers and are therefore still restricted to 4 GiB. I think this is why the author calls PAE a hack.
In x86-64 long mode and i386 32-bit mode, pointers are really 64- and 32-bit, respectively; I would not call this a hack.
- junon 2y agoImportant missing info I suppose for some readers - that's what the "p" in "pae" stands for - physical address extension. It has no bearing on virtual addresses.
- rft 2y agoTo add another layer on top of these hacks, Windows has Address Windowing Extensions [1] that allows a 32bit process to use more than 4GB of RAM. Of course pointers are still 32bit, so you need to map the additional memory into and out of the virtual address space. x86 and its history is full of things that look hacky, and might be, but are often there for backward compatibility. If your x86 PC still boots in BIOS mode, it comes up in 16bit real mode [2], ready to run DOS. It then moves through the decades into protected mode and lastly (for x64 systems) long mode. [1] https://learn.microsoft.com/en-us/windows/win32/memory/address-windowing-extensions https://learn.microsoft.com/en-us/windows/win32/memory/addre... [2] https://wiki.osdev.org/Real_Mode https://wiki.osdev.org/Real_Mode