Linear Address Spaces: Unsafe at any speed

Old-school memory maps roasted, but fans yell “don’t break my stuff”

TLDR: A veteran engineer says the way computers map memory is outdated and dangerously complex, urging an object-based rethink. Commenters clap back: preserving old software matters, real hardware still needs addresses, and some security features already help—sparking a lively split between “future now” and “don’t break what works.”

ACM’s Queue asked for feedback on a redesign and got a full-on tech soap opera. In a fiery essay, systems veteran Poul-Henning Kamp claims the way computers track memory—one big “line” of addresses—is “unsafe at any speed.” He praises Apple’s M1 chip for sipping power but says modern memory mapping is a five-layer lasagna of complexity. His pitch: ditch the old “one giant line of memory” and think in objects, like boxes you label and store, not a single endless shelf.

Cue the comment brawl. The loudest chorus: backwards compatibility or bust. User tliltocatl quips that old software still runs the world, so don’t nuke the past. Security-minded btdmaster counters that hardware is already nudging toward safer designs—think “shadow stacks” (extra bookkeeping to prevent sneaky jumps) and control-flow integrity (don’t let code run off the rails). Pragmatists like irdc throw cold water: if your “objects” are huge, how do you even find them without mega maps? mikewarot drops the mic: somewhere, a real physical address still has to exist.

Meanwhile, the crowd giggles at Kamp’s zingers—“We don’t talk about Thumb-2” becomes a meme, and the S/360 RISC joke earns a chorus of “ahaha so true.” It’s high drama, low jargon, and maximum vibes: modernize memory or protect the past? The thread picks both, loudly.

Key Points

  • Modern ARM and x86-64 architectures share complexity in translating linear virtual addresses to linear physical addresses.
  • Deep page-table hierarchies (up to five levels) and multiple page sizes introduce performance overhead and numerous exception paths.
  • Linear address spaces persist primarily due to backward compatibility with older systems lacking virtual memory.
  • Operating systems typically implement abstract object stores over linear memory, then map virtual to physical memory within architectural limits.
  • The author highlights alternative approaches and cites work emulating the Rational R1000/s400, implying different architectural models are possible.

Hottest takes

"Because backwards compatibility is more valuable than..." — tliltocatl
"But what happens when the in-memory size of objects approaches 2⁶⁴?" — irdc
"Somewhere there has to be an actual address generated." — mikewarot
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.