- ベストアンサー
32bitOSで利用できるメモリ容量の疑問とは?
- 32bitOSで利用できるメモリ容量について疑問が生じています。HPのワークステーションxw6600にメモリ増設をした際、増設前の3GBではOSから認識できる容量が2GB~2.5GB程度にならなかった一方、増設後の8GBではOSからの認識容量も3GBとなっています。なぜ増設前のメモリ容量では認識されていなかったのでしょうか?
- 32bitOSでは3~3.5GB程度のメモリ容量しか認識できないとされています。その理由として、システムデバイスに0.5~1GB程度のアドレス空間がマッピングされるためだと言われています。しかし、増設前の3GBの場合でもOSからの認識容量は2GB~2.5GB程度にならず、疑問が生じています。この疑問の解決策についてお知りの方はいらっしゃいますか?
- WindowsXP32bitでのメモリ増設に関する疑問があります。増設前の3GBではOSから認識できる容量は3GBとなっていましたが、増設後の8GBではOSからの認識容量も3GBとなっています。この状況について、メモリの差し方などが関係しているのでしょうか?解決策を教えていただきたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>32bitOSが3~3.5GB程度しか認識できない理由として、システムデバイスに0.5~1GB程度のアドレス空間がマッピングされるためという認識です。 ご自分でも書かれていますがシステムデバイスにアドレス空間がマッピングされているのであって、メモリがマッピングされてるわけではないからです。 アドレス空間全体-システムデバイスが使用しているアドレス空間=メモリが使用できるアドレス空間 といった方がわかりやすいかも。
その他の回答 (3)
- Gotthold
- ベストアンサー率47% (396/832)
その考え方だと、256MBとか512MBのメインメモリしかなかった時代は 使えるメインメモリがなくなってしまいますよ^^; あなたも書いているとおり、 MMIOによりデバイスにマッピングされるのは 物理アドレス空間でありメインメモリではありません。 例えば、4GBの32ビット物理アドレス空間のうち1GBをMMIOで使っているなら、 メインメモリにマッピングするためのアドレス空間が3GB残っていることになるので メインメモリは3GBまで使えますよ。 (物理アドレス空間はメインメモリやデバイスにアクセスするための窓みたいなもの。)
- kimamaoyaji
- ベストアンサー率26% (2801/10379)
32BitOSですが別に3GBしか使えない訳では無いですよ、ブートでWindowsXP /PAEと言う拡張コマンドPAE(WindowsServerの説明を見れば判りますが)確か32GBまではOSは認識します。 http://www.atmarkit.co.jp/fwin2k/win2ktips/1125paeon/paeon.html 但しですが、サバー目的でマルチユーザーでの使用ならメモリの拡張の意味はありますが、32Bitアプリは2GBと言う足かせがあるので、むやみにメモリを増やしても意味が無いと言えます。 64Bit OSで32Bitアプリを動かしても同じ事但し使用量は4GB、ビット数が倍になっているので1データー32Bitは64Bitデータバスの64BitOSでも32Bitだからです。 メモリ増設の実力は64Bitネイティブアプリでないと、効果は出ないと言う事です。
- kita_s
- ベストアンサー率45% (630/1383)
最初からとられているわけではなく、あるメモリ容量以降が隠されているのです。なので最初の方は増設すればそのまま増えていきます。 田んぼがあったとして、田植えの終わり際1/4程度にビニールシートがかぶさってます。 最初の田植えは順調に進みます。3/4を超え、すべて田植えしました。しかし見えるのは最初の方3/4だけで、終盤の1/4は植えた場所が見えません。 そんな感じです。3GB(正確には3.3~3.4GB)までは問題ありませんがそれを超えた場所が見えないようになっていて利用者側は使うことができません。これはWindows系OSの問題で、ほかのOSだと4GBまで認識できるものもあります。 メモリのさし方とか物理的な部分は関係なく(BIOSで認識できていると思います)、Windowsというシステムの構造上、メモリをどんどん増設しても、32bit版である以上、3GBを超えたメモリ空間は使うことができません。
お礼
わかりやすいたとえでした。 ご回答ありがとうございます。
お礼
物理アドレスと仮想アドレス空間の区別がちゃんと理解できてませんでした。。。 ご回答ありがとうございます。