3 ms·
If the first machines which had segmentation existed in the early '60s, why did it take so long to discover that memory segmentation is an anti-feature? AFAIK
by csense 11y ago
If the first machines which had segmentation existed in the early '60s, why did it take so long to discover that memory segmentation is an anti-feature?
AFAIK segments were put in the 386 because Intel thought people would like them, but they didn't. Now segmentation only exists on x86 hardware for backward compatibility, and all modern OS's essentially disable segmentation in software (basically putting all of memory into a single segment) and using paging to implement process isolation, no-write / no-execute, shared memory, and the like.
I'm not talking about 8086 / 8088 style segmentation, which was a different beast, a somewhat reasonable way to allow a 16-bit processor to access more than 64k of memory.
- hga 11y agoI don't think it's so much an anti-feature as something that's just not used in the dominate ecosystems so today it is superfluous complexity. Not in IBM 360, not used as such by MS-DOS for the 8088 and Windows, which were originally designed for the 8088 and the 286, since their segments were too small, not for UNIX(TM) and its derivatives including NeXTSTEP -> OS X and other originally 680x0 based operating systems, not for anything ARM based.