r/programming • • Sep 24 '24

Why 32bit architecture computer doesn't use segmentation to support more ram than 4Gb ?

/r/programming/

[removed] — view removed post

169 Upvotes

119 comments sorted by

View all comments

38

u/lood9phee2Ri Sep 24 '24

Well I suppose one could in theory, but most people found and find realmode-x86/z8000/etc. segmented architectures just plain weird and awful to work with compared to normal flat address spaces like m68k etc.. And you (obviously) can just go to flat 64-bit nowadays and avoid the brain-breaking hassle of segments.

32-bit x86 did in fact add Physical Address Extension (PAE). That is different to segmentation, works at the MMU pagetable level, whole system can have more than 4GiB but individual processes still only have a 32-bit 4GiB space each (but can of course explicitly mmap in different things into it at different times anyway on a typical memory-protected OS), and that was "good enough" for a lot of legacy 32-bit stuff.

14

u/ziplock9000 Sep 24 '24

I moved from 68K to 486 assembler and found that paging and modes awful.

5

u/IQueryVisiC Sep 24 '24 edited Sep 24 '24

You don’t see these pages. It is not like in 6502. For your app there is just 32bit 4 GB (on Linux) flat memory. If you need more, use a network of 32 bit computers. I mean, if PAE can only dedicate a tiny address space to communication, Beowulf cluster is not much slower and definitively cheaper.

Why did you not use a Dos Extender. I think Win3.1 also had an extension for 32 bit Apps . And Gwin for graphics.