29 ms·
To 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 poin
by rft 2y ago
To 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