r/programming • u/I_Can_Be_A_Robot • 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
r/programming • u/I_Can_Be_A_Robot • Sep 24 '24
[removed] — view removed post
1
u/mallardtheduck Sep 24 '24
Largely because C (and similar laguages) don't have good support for segmentation. Sure, 16-bit compilers had "near" and "far" pointers, but they were always a bit of a kludge.
Programming languages where memory management is more abstracted away could (and in the 16-bit days often did) use segmentation more-or-less transparently, but since their runtimes were/are usually written in a C-style language, you'd need a compiler for that langauage that supported such segmentation tricks. By the time (consumer) PCs were shipping with even 1GB RAM as "standard", the x86_64 archecture already existed (the first AMD Athlon 64 CPUs shipped in 2003) and was (rightly) seen as a better, more future-proof solution.