Why x86's segmented memory died — and why CHERI is bringing it back
Flat vs. segmented memory – it's recursive
Stephen Kell traces the decline of x86 segmentation, blaming Unix's preference for flat address spaces, and argues the flat-vs-segmented debate is recursive: programmers always subdivide memory, but hardware can't. He contrasts CHERI's capability-based approach with traditional segments and his own liballocs project, which descriptively captures recursive allocation structures. A thought-provoking take on memory models, safety, and the hardware-software divide.
The question is not about flatness or not—the programmer's mental abstraction is never flat—but somehow how we square a fundamentally recursive phenomenon practised by programmers, namely subdivision, with hardware—which is very much non-recursive.