好きな和訳タイトルを教えてください

OSがXPだと最大メモリー2GB、4GBつけても2GBしか使わない。VISTAでも最大メモリー2GB等ありますが、これがよくわかりません。vistaは何GBまでokですか。
2GBしか使わないというのはOSがそこまでしか対応していないということですか。それともCPUの違いで出てくるのですか。
DUOになればもっと容量増やせますか。
初歩的な疑問ですが、どこで調べれば載っていますか。
分かる方教えてください。

A 回答 (4件)

メモリはOSにより制限があるのではなく、ハードウェア的にどのくらいまでコントロール(認識)出来るかで決まります



XPにもvistaにも32bit版と64bit版がありますが、これはハードウェア構成がどちらかなのかで決まります
技術的な解説をするとちょっと長くなり専門的になりますので割愛しますが、2の32乗=4GBとなるためで、32bitCPUの場合に認識できるメモリが合計で4GBまでになります
これは理論的にも技術的にも4GBまでが限界という意味で誰かが決めた容量というわけではありません。
全て合計で4GBのため、コンピュータ(パソコン)が各デバイスをコントロールするために必要な領域も含めて全て4GBであるため、windows上ではユーザー領域(OSやアプリケーションが使える範囲)を3GB程度に制限しているために起こる現象です。

ハードウェアを64bit構成にすれば64bit版のOSを使うことで理論値最大で16EB (エクサバイト) まで扱えますが、そこまで大きいメモリをつめるだけのパソコンは現在販売されていません
せいぜい8GB程度です。
また、OSにも限界があり、今現在販売されている64bit版のwindowsは最大で128GBまでとなっています。
VISTAの場合は
Home Basicで8GB、Home Premiumで16GB、Ultimateで128GBとなります


また、ハードウェア構成とOSを64bit化すればメモリの最大値は増えますが、使うアプリケーション類も64bit対応でないと意味がありません
ですから、パソコンを購入する上で、使うアプリケーション類が64bitに対応していないと、メモリを沢山つめるようになったからといって手放しで喜べるような状況には今のところなっておりません。
    • good
    • 0
この回答へのお礼

inu2さん。詳しく教えていただいてありがとうございます。
サクサク動くパソコンを求めているのですが、予算との関係で我慢してしまいます。

お礼日時:2008/01/28 21:48

メモリの容量を決めるのは、基本的にCPUです。


CPUの設計としてメモリの容量が決まります。これは、CPUが一度に演算できる能力の関係でメモリの番地付け(アドレッシング)がオーバーフロー(桁溢れ)を起こさない範囲が通常は割り当てられるためです。
32bitのCPUではそのため、4GB(2の32乗*)が割り当てられるのです。具体的には、2の32乗は4294967296で4096MB(4GB)となります。
これに割り当てると64bitで設計されたCPUは理論上は16EBを上限として実装できます。(ただし、現在製品化されているx64のメモリ上限はそれより遙かに下です)

*メモリアドレスのみを拡張するための専用技術であるPSEやPAEを利用した場合を除く。(これらの技術はメモリの容量拡張のために専用のメモリアドレス領域を備えます)

しかし、これはあくまでCPUが持つメモリの上限です。
CPUがいくら4GBに対応していても、例えばマザーボード上のメモリスロットのメモリ上限が2GBならそれまでしか実装できません。また、BIOSやEFIと呼ばれるローレベルPGで上限が制限されている場合もあります。

そして、OSの制限があります。
32bitOSでは既に回答があるように、認識上は3GB強が上限となります。CPUが32bitで4GBの上限を持つため当然としてOSも32bitでは4GBを上限とします。
そのため、32bitのOSでは4GBを上限としています。ただ、I/O周りの仕様上、3GBを越えるとI/Oリマッピングによって1GBがOSとハードウェアの管理メモリとして消費されます。その結果、OSのタスクマネージャーで見ると3GB+αしか使えません。
32bitOSでその壁を越えるには、PAEやPSEを利用するしかありませんが、OS(WindowsならサーバーOSが必要)とパソコン本体(BIOS/EFI)が対応している必要があり、アプリケーションで容量を利用するためには、PAEやPSEのアドレス拡張技術をサポートするように設計されている必要があります。

64bitOSではこの上限を超えることができます。
現在の上限は8GB~128GBまでをWindowsXP x64及びWindowsVistaのx64版でサポートしています。本来なら16EBまで対応可能とできますが、アドレス割り当てを不必要に拡張しても、逆に割り当てるだけで時間を食いますし、現時点で存在しない容量をサポートしても意味がないため、上限値を実用で使う範囲+α程度に制限しています。

ということで、CPUのアドレス割り当ての上限で本来なら決まるが、現実にはその先にあるBIOSやOSが設計上の限界や性能上の理由で意図的にメモリの上限を下げています。
    • good
    • 0
この回答へのお礼

ありがとうございます。皆さんの回答がすばらしくて、全員にpointをつけたい位です。

お礼日時:2008/01/28 21:41

WinXPまではこんな感じ



http://www.microsoft.com/japan/whdc/system/platf …

VISTAではエディション次第ですが、32bit版では3.12GBまでですね。

http://support.microsoft.com/kb/929605/ja

多分今だとBIOSで認識できる容量の方が多いので、OSの制限の方が効いていくる状態でしょう(以前はBIOSで認識出来なくてBIOSをアップデートしたりとかいう話も散見した気がします)。

ちなみに、これはDuoでも変わりません(当然64Bit版なら違ってきますが・・)。
    • good
    • 0
この回答へのお礼

ありがとうございます。パソコンの新しいのを買わないと必要なソフトが対応していない。パソコンていたちごっこです。
最低5年前のソフトでも動く仕組みにしてもらいたいです。
みなさん詳しくてびっくりです。

お礼日時:2008/01/28 21:52

使用可能なメモリ容量というのは、OSの問題、CPUの問題、チップセットの問題が相互に関連します。



OSに限定して言えば、従来のWindows XPなど、「32bit OS」と呼ばれるものは3GB強、Vista x64版などの「64bit OS」では128GBまでのメモリを扱えます。
# サーバOSも含めると実はあまり正確な表記ではないのですが、ややこしくなるので割愛

この辺りはPC Watchの「元麻布春男の週刊PCホットライン」にて実験した記事がありますので、そこを見てもらえればわかりやすいかも。
http://pc.watch.impress.co.jp/docs/2007/1127/hot …
http://pc.watch.impress.co.jp/docs/2007/1207/hot …
http://pc.watch.impress.co.jp/docs/2007/1211/hot …
    • good
    • 0
この回答へのお礼

ありがとうございました。みなさん全員にpointを付けたい位です。

お礼日時:2008/01/28 21:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報