| ▲ | mpweiher a day ago | ||||||||||||||||
You did see that bit you quoted? > (Of course the 386 is technically still segmented, but let's ignore that) Yes, the 80386 was still technically segmented, but the overwhelming majority of operating systems (95%+) effectively abandoned segmentation for memory protection and organization, except for very broad categories such as kernel vs. user space. Instead, they configured the 80386 registers to provide a large linear address space for user processes (and usually for the kernel as well). > The idea that someone would create a couple descriptors with base=0:limit=4G and set all the segment register to them, in order to assure that int=void * is sorta a known possible misuse of the core architecture The thing that you mischaracterize as a "misuse" of the architecture wasn't just some corner case that was remotely "possible", it was what 95% of the industry did. The 8086 wasn't so much a design as a stopgap hail-mary pass following the fiasco of the iAPX 432. And the VAX existed long before the 8086. | |||||||||||||||||
| ▲ | StillBored a day ago | parent [-] | ||||||||||||||||
I think my point revolves more around what the HW designers were enabling. If they thought that the flat model was the right one, they would have just kept doing what the 286 did, and fixed the segment sizes at 4G. | |||||||||||||||||
| |||||||||||||||||