- ベストアンサー
32ビットCPUのメモリについて
32ビットCPUの場合、アドレス空間の制限で1プロセスにつき4GBまでしか使用できないことになっていると思いますが、このうち2GBはシステム用、その他2GBがアプリケーション用と聞いたことがあります。1プロセスで使用する度にOSに2GBほどのメモリを使用することがあるのでしょうか?(プロセスが多くなる度にOSで使用されるメモリ量も増大すると考えてよろしいでしょうか?)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
http://e-words.jp/w/E38397E383AAE382A8E383B3E38397E38386E382A3E38396E3839EE383ABE38381E382BFE382B9E382AF.html OSにもよりますが、XP等のNT系OSのようなプリエンプティブなマルチタスクですと、プロセス毎にOS領域を持っています。9x系のようなノンプリエンプティブなマルチタスクではOS領域を共有するために1つのアプリのクラッシュが他アプリに影響をあたえます。昔はCPUが貧弱でしたしメモリ空間にも制限があった上に高価でしたから効率よくするためにノンプリエンプティブなOSが主流でしたが、現在では違うようになっています。
その他の回答 (2)
- osamuy
- ベストアンサー率42% (1231/2878)
> 1プロセスで使用する度にOSに2GBほどのメモリを使用することがあるのでしょうか? この話は、仮想記憶アドレス空間上、80000000-FFFFFFFF(hex)に配置されているという意味で、必ずしも2GB全てを使ってる訳ではないです。 > プロセスが多くなる度にOSで使用されるメモリ量も増大する あってると言えば合ってます。アプリが使用する量と比べれば微々たるものですが。
お礼
ご回答ありがとうございました。
- OsieteG00
- ベストアンサー率35% (777/2173)
アプリにもよります。 例えば、動画編集などでしたら動画を全部メモリに載せて編集した方が早くなりますので、いくらメモリがあっても足りない計算です。
お礼
ご回答ありがとうございました。
補足
回答ありがとうございます。追加で質問させて頂いて宜しいでしょうか。例えば10プロセスが並列で処理していた場合、それぞれのプロセス毎でOS、アプリのメモリが使用されることになるのでしょうか?そのあたりのアーキテクチャをご存知でしたら教えて下さい。
お礼
今まで疑問だったことがクリアになりました。 わかりやすく説明して頂きましてありがとうございました。