Remix.run Logo
irdc 3 days ago

> Why do we even have linear physical and virtual addresses in the first place, when pretty much everything today is object-oriented?

But what happens when the in-memory size of objects approaches 2⁶⁴? How to even map such a thing without multi-level page tables?

fn-mote 3 days ago | parent | next [-]

What field do you work in that you’re mapping objects of size 2^{63}? Databases? When I see anything that size it’s a bug.

Joker_vD 3 days ago | parent | prev | next [-]

Regions, like [0], for example? Multi-level page tables kinda suck.

[0] https://web.archive.org/web/20250321211345/https://www.secur...

hinkley 3 days ago | parent [-]

16 bit programming kinda sucked. I caught the tail end of it but my first project was using Win32s so I just had to cherry-pick what I wanted to work on to avoid having to learn it at all. I was fortunate that a Hype Train with a particularly long track was about to leave the station and it was 32 bit. But everyone I worked with or around would wax poetic about what a pain in the ass 16 bit was.

Meanwhile though, the PC memory model really did sort of want memory to be divided into at least a couple of classes and we had to jump through a lot of hoops to deal with that era. Even if I wasn't coding in 16 bit I was still consuming 16 bit games with boot disks.

LexiMax 3 days ago | parent [-]

I was recently noodling around with a retrocoding setup. I have to admit that I did grin a silly grin when I found a set of compile flags for a DOS compiler that caused sizeof(void far*) to return 6 - the first time I'd ever seen it return a non power of two in my life.

Findecanor 3 days ago | parent | prev [-]

I believe Multics allowed multiple segments to be laid out contiguously. When you overflowed the offset, you got into the next object/segment.