AMD64ベースのハードウェアで32ビットRHEL 4.4を使用しています。ここで私は、メモリの8Gigsは、OSが、私は私のシステムがフル8GBのメモリを利用することができませんことを前提としています32ビットであること、このシステムにインストールされているのuname -a32ビットRHELマシンでのメモリ使用
$ uname -a
Linux zulu 2.6.9-42.0.10.ELsmp #1 SMP Fri Feb 16 17:17:21 EST 2007 i686 athlon i386 GNU/Linux
から出力されます。私はトップを実行したときしかし、私は、以下を参照してください -
Mem: 8309168k total, 8292028k used, 17140k free, 7096k buffers
ので、トップは、メモリのすべての8ギガバイトを閲覧することができます。
同じマシンに32ビットのWinXPをインストールすると、タスクマネージャーは利用可能なものとして3 GBを表示します。
私の質問です - どのように32ビットのOSは8GBのメモリを見ることができますか?これは、私のアプリケーションがより大きなアドレス空間を使用できることを意味しますか? 32ビットLinuxと32ビットWinXPの違いは何ですか?
ありがとうございます!
実際には一般的には適切な回答ですが、1つの32ビットプロセスで4 GiB以上に対処するために実際にできることがあるため、これは少し誤解を招くものです。たとえば、Windowsの場合:「AWE(Address Windowing Extensions)は、32ビットのソフトウェアアプリケーションが仮想アドレス空間よりも多くの物理メモリにアクセスできるようにするMicrosoft Windowsアプリケーションプログラミングインターフェイスであり、4 GBの制限を超えています。 1]」http://en.wikipedia.org/wiki/Address_Windowing_Extensions –