16、32、および64ビットマシンの理論上のメモリ制限は次のとおりです。
16ビット= 65,536バイト(64キロバイト)
32ビット= 4,294,967,296バイト(4ギガバイト)
64ビット= 18,446,744,073,709,551,616(16エクサバイト)
DOS / Windows 3.11時代から、16ビットメモリをセグメントに分割できることを覚えているので、16ビットマシンは64キロバイトよりも多くのメモリにアクセスできます。
16GBのメモリを搭載したマシンがあり、32ビットオペレーティングシステムと64ビットオペレーティングシステムをデュアルブートしています。64ビットから16GBすべてにアクセスできますが、32ビットでは3.21GBのみです。
だから、私の質問は、16ビットオペレーティングシステムがメモリセグメント化のために64KBを超えるメモリアクセスを許可した場合、32ビットマシンが同じ原則に従わないのはなぜですか?