• ベストアンサー

仮想領域はなぜ必要?

仮想領域はなぜ必要なのでしょうか?本体メモリーだけでは容量が足りない、という説明は理解できるのですが、なぜ「仮想」を必要とするのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • noranuko
  • ベストアンサー率46% (620/1332)
回答No.3

仮想メモリとは、OSの持つメモリ管理機能のひとつです。 アプリケーションと物理メモリ(とスワップ領域)の間に、仮想的なメモリ領域を置いてやることで、 メモリ管理を隠蔽しアプリケーションを作りやすくしたり、 物理的メモリの環境に縛られず、柔軟にメモリを使うことができるようになります。 この仮想メモリ領域は基本的にプロセスごと(≒プログラムごと)に用意され、 Windows(32bit)の場合スワップ領域(=ページングファイルのサイズ)や物理メモリ容量にかかわらず4GB(OS 2GB,プロセス2GB)です。 もし、この仮想メモリがないとしたら アプリケーションにOSや他のアプリケーションが使用しているメモリ領域にデータを置かないようにしたり、 メモリの足りないときの処理したりといったものを個別に実装する必要があります。 また、あるアプリケーションが他のアプリケーションやOSのデータをいじることが簡単になるので、 OS全体のクラッシュやデータ破壊などが起きる危険性が高くなります。 コレはマルチタスクOSとしては致命的な欠点となりえます。 #2さんの言う、「仮想領域を切る」ということは少なくともWIndowsにおいてはできません。 やっていることはおそらくページングファイルへの書き出しを無効にしているだけでしょう。 上記の説明の通り、ページングファイルがあろうとなかろうと、 物理メモリとアプリの間に仮想領域がないとWindowsのプログラムは基本的に動きません。 ※ちなみに「仮想メモリ領域=HDD上のメモリ代わりに使う領域」ではありません。  これはWindowsの場合「ページングファイル」といいます。

参考URL:
http://ja.wikipedia.org/wiki/%E4%BB%AE%E6%83%B3%E8%A8%98%E6%86%B6
全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • u-bot
  • ベストアンサー率58% (1736/2988)
回答No.2

仮想領域が無いとメモリ不足時にPCの使い勝手が悪くなるからです。 仮想領域があればメモリ不足時に使用頻度が少ないメモリ内容を一時的にHDDに保存して空きメモリを増やすことができます。 この機能のおかげで実際のメモリよりも大きなメモリを必要とするアプリを動かすことが可能になります。 また複数のアプリを起動していてメモリ不足の場合に、アプリを終了して空きメモリを増やす手間を減らすことができます。 しかし現在はメモリの大容量化、低価格化のおかげで仮想領域の必要性が薄れてきました。 実際自分は仮想領域無しでPCを使用しています。

全文を見る
すると、全ての回答が全文表示されます。
noname#252929
noname#252929
回答No.1

本来仮想領域なんて使いたくはないのです。 CPUが扱えるアドレス空間が無限なら、必要ありません。 このアドレス空間に上限が有る為に、メモリなどの容量制限が掛けられる事になります。 容量制限を付けられてしまって居る為に、それ以上使いたい時は、一部を別の所へとりあえずおいて来て、使うというのが仮想空間の考え方です。 CPUのアドレス空間に関しては説明が長く成ってしまうので、御自分で調べられてください。 アドレス空間の理解が出来れば、仮想メモリを使わなければならない理由なども、自然と判る様になりますよ。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 仮想領域を増やすには?

    「仮想領域がたりません」的な警告が出てから、データの読み込みが遅くなりました(また、データ読み込み中に一時とまったりします) これを解決するにはどうしたらよいでしょうか? 仮想領域を増やす必要があるならば、どう増やすのでしょうか? アドバイスお願いします。

  • 使用可能な仮想領域?

    麻雀ソフトをインストールした後、起動しようとしたら 「Director Player6  このプログラムを起動するには最低3MBの使用可能な仮想領域が必要です。」 と、言われてしまい先に進むことができません。 いったいどのようにすればよいのでしょうか?よろしくお願いします。

  • 仮想領域にウインドウを描画

    BMPなどはCreateCompatibleDC関数を使ってちらつきを防 止しますが、ウインドウのちらつき防止のために仮想領域 に表示する関数や方法を教えてください。 色々な方法があると思いますが、仮想領域を使った解決策 を教えてください。

  • プロセスと仮想メモリについて

    プロセスと仮想メモリについて こんばんは。 プロセスについて勉強しています。 その過程で、「プロセスは物理メモリーとは切り離された仮想メモリーにアクセスする。 仮想メモリーはひとつのプロセスに対して4Gバイト割り当てられる。」 とありました。 今まで仮想メモリーと言うのは、ページングファイル(物理メモリの代わりに使用される ハードディスクの領域)のことだと思っていましたが、この仮想メモリーと、プロセスを 語る上での仮想メモリーとは別物なのでしょうか? 宜しくお願いいたします。

  • 仮想メモリーについて

    OSは WindowsXP SP3 です。 メインメモリーは、256MBでどうしても仮想メモリーの使用が多くなりがちで、HDDへのアクセスが増えてしまいます。  そこで素人考えですが、外付けのUSBメモリーや、メモリカード等で、この仮想メモリー領域を置きかえる事が出来ないでしょうか? それで少しは動作が軽くならないでしょうか?? 良い方法があれば教えて下さい。

  • 仮想メモリーが少ない

    仮想メモリーが少ないと出ました。 仮想メモリーを調べたら ドライブ C 空き領域 122118MB 初期サイズ 372MB 最大サイズ 744MB 最小限 2MB 推奨 369MB 現在の割り当て 387MB と書いていました。 どうして増やしたらいいのか全然わかりません>< どなたか教えていただけますか? よろしくお願いします。

  • 仮想イメージ

    Alcohol52%でDVDから仮想イメージを作成して楽しみたいのですが、ハードディスクの容量は使用領域を使ってしまうのでしょうか。

  • 仮想メモリ領域

    お世話になります。 最近、IEを使用していると動作が以上に遅くなり、ハードディスクがなにやら動いており、しまいにゃIEが勝手にダウン(消えてしまう)してしまいます。 そのとき必ず出るのが、「仮想メモリ領域の最小値が小さすぎます。メモリ領域を大きくしています。」と出ます。 どうしてでしょうか。 それも、これが出始めたのがここ数週間前からで、それまではこのような現象はおきたことがありません。 特別新しいソフトをインストールしたとかもなく、何もしていないのですが。これはどうしてでしょうか。 よろしくお願いします。 XPでハード的なメモリは520Mで少ないことは少ないのですが、 とにかく最近まで全く起こっていなかったもので。

  • 仮想メモリーの変更方法

    状況説明は省略いたしますが、 仮想メモリーの変更を指示されました。 > 仮想メモリの全容量 2.00 GB   ↓ 500Mから800M程度確保すれば問題 はないと思われます。 とのことです。 ただ、ではどうするかが分かりません。 コントロールパネル→システム→システムのプロパティ→詳細→パフォーマンスオプション→仮想メモリー→変更 で 仮想メモリー画面に行った後、 何をどのように 変更すれば 2.00GBが500~600MBになるのでしょうか? OSは、Windows MEです。 以上よろしくお願いします。

  • 仮想メモリの領域が足りない

    仮想メモリの領域が足りないというエラーメッセージが出ました。 メモリは1.93GBです。 プロパティの仮想メモリの所を見たら 最小限2MB 推奨2973MB 現在の割り当て672MB となっているのですが、初期サイズ、最大サイズの所を変えたら解決するのでしょうか? もし解決するのでしたら推奨の”2973”という数字は初期サイズ、最大サイズどちらに入力したらいいですか?

このQ&Aのポイント
  • DCP-L2550DWは複数人で使用する場合でも、パソコン接続なしでUSBメモリーを使用して印刷することが可能です。
  • USBメモリーに保存されているドキュメントをプリンターに差し込み、ダイレクトに印刷することができます。
  • ブラザー製品であるDCP-L2550DWは外部メモリーの使用に対応しており、便利に利用することができます。
回答を見る