Not all of these issues have disappeared, either.
Anyone remember this headline from a couple years ago?
The bottom 1MiB of memory space on x86 is just a minefield.
It's impossible (like literally impossible) in general to know if certain parts of the address space are actual memory or are some weird part of your motherboard chipset or some other hardware.
Windows I think still goes through the "wankery" of depending on chipset drivers to (accurately) know which parts of memory are actual memory.
Thankfully the 16-bit (though actually 20-bit but actually kind of more sometimes kind of but not totally) pains have all gone away.
The move to flat 32-bit address spaces was a godsend.
Not all of these issues have disappeared, either. Anyone remember this headline from a couple years ago? The bottom 1MiB of memory space on x86 is just a minefield. It's impossible (like literally impossible) in general to know if certain parts of the address space are actual memory or are some weird part of your motherboard chipset or some other hardware. Windows I think still goes through the "wankery" of depending on chipset drivers to (accurately) know which parts of memory are actual memory.
Thankfully the 16-bit (though actually 20-bit but actually kind of more sometimes kind of but not totally) pains have all gone away. The move to flat 32-bit address spaces was a godsend.