22

Someone once told me that 32-bit operating systems were better than 64-bit ones because the pointers are half the size.

*confused thinking face*

Comments
  • 3
    To address more than 4,2 gigabytes of memory, the memory addresses (=pointers) have to be larger than 32-bit.

    If this makes an operating system worse or not is another question.
  • 4
    @sbiewald his logic was "if the pointers are smaller, they take less space, so we save memory." I don't think he understood why 64-bits was needed in the first place.
  • 12
    His logic is like, if you have nothing to eat, then you don't need toilet paper.
  • 0
    @Fast-Nop bad example.. because I think it's true (if you don't eat for enough time)
  • 0
    @Coffe2Code that was the point.
  • 0
    In general, not true or false. However, depending on the hardware and potential other factors, possibly true. Your confused face was appropriate given the amount of info given.
  • 3
    There are still 16-bit modes for some OS.
    8-bit OS like Contiki exist.
    I bet you could do a 4-bit OS but it won’t be POSIX-like, but someone here might build one just to prove me wrong.
  • 1
    Oh Boy.

    I thought the x32 debates and fanatics had died.

    https://flameeyes.blog/2012/06/...

    x32 will be removed from Linux I guess....

    But to put it simple: Just because you shave off 32 bit off a pointer... Doesn't mean it will run faster.

    And benchmarks can lie.

    Warping and morphing an whole ABI / architecture for having a theoretical speed win is insane.
  • 2
    His brain is half the size.
  • 3
    The displacement part of many instructions on x64 is still 32 bits. That being said pointer does allocate 8 bytes.
  • 0
    He is actually right. Smaller is Better!
  • 2
    @magicMirror

    Seriously. Don't feed the dumbsters.
  • 1
    Specifically for x86/x64, x86 is pretty register starved while x64 has a lot more of them.
  • 2
    @sbiewald not necessarily. You cannot ofc reach from 0 to 16gigs with simple dereference, but 32bit x86 has long time had physical address extension bit which basicaly extends the address translation scheme by one more table. The table is selected by the operating system (typically per-process or similar), so userspace pointers remain 4 bytes.
  • 1
    @Pyjong Yes, I know of PAE - but as you said, the limitation for userspace applications remains.
  • 1
    @sbiewald Sorry for being pedantic, but the processor does not have that limitation. It is the high level code that cannot deal with this.
Add Comment