電子書籍の厳選無料作品が豊富!

32ビットCPUの場合、アドレス空間の制限で1プロセスにつき4GBまでしか使用できないことになっていると思いますが、このうち2GBはシステム用、その他2GBがアプリケーション用と聞いたことがあります。1プロセスで使用する度にOSに2GBほどのメモリを使用することがあるのでしょうか?(プロセスが多くなる度にOSで使用されるメモリ量も増大すると考えてよろしいでしょうか?)

A 回答 (3件)

http://e-words.jp/w/E38397E383AAE382A8E383B3E383 …

OSにもよりますが、XP等のNT系OSのようなプリエンプティブなマルチタスクですと、プロセス毎にOS領域を持っています。9x系のようなノンプリエンプティブなマルチタスクではOS領域を共有するために1つのアプリのクラッシュが他アプリに影響をあたえます。昔はCPUが貧弱でしたしメモリ空間にも制限があった上に高価でしたから効率よくするためにノンプリエンプティブなOSが主流でしたが、現在では違うようになっています。
    • good
    • 0
この回答へのお礼

今まで疑問だったことがクリアになりました。
わかりやすく説明して頂きましてありがとうございました。

お礼日時:2006/03/24 01:45

> 1プロセスで使用する度にOSに2GBほどのメモリを使用することがあるのでしょうか?


この話は、仮想記憶アドレス空間上、80000000-FFFFFFFF(hex)に配置されているという意味で、必ずしも2GB全てを使ってる訳ではないです。

> プロセスが多くなる度にOSで使用されるメモリ量も増大する
あってると言えば合ってます。アプリが使用する量と比べれば微々たるものですが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2006/03/24 01:44

アプリにもよります。


例えば、動画編集などでしたら動画を全部メモリに載せて編集した方が早くなりますので、いくらメモリがあっても足りない計算です。

この回答への補足

回答ありがとうございます。追加で質問させて頂いて宜しいでしょうか。例えば10プロセスが並列で処理していた場合、それぞれのプロセス毎でOS、アプリのメモリが使用されることになるのでしょうか?そのあたりのアーキテクチャをご存知でしたら教えて下さい。

補足日時:2006/03/22 01:13
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2006/03/24 01:43

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