• ベストアンサー

仮想記憶方式とは

 今晩は。  HDDを仮想記憶として使う方法として、ページングとかスワッピングとかがありますが、 実はよく調べてみると2つの意味はどうも違うことが分かりましたが、一体どの様に違うのかはよく分かりません。  どなたか、この違いを教えて下さい。  また、仮想記憶方式とは正確にはどちらを指すのでしょうか。    以上宜しくお願い致します。

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

  • ベストアンサー
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.2

混同しているホームページなんかも結構多いですが。 どちらも主メモリーの足りない所をHDDで補完するところは同じです。 最も違う所はメモリーが足りなくなったと言う判断をどこが行うかです。 ページングでは命令の実行中に、必要な命令又はデータが主メモリー上に存在していないことをハードが検出し 必要なページを主メモリーに読み込むようOSに指示します。 OSはページの入れ替えをして入れ替えが終わったらプログラム実行を再開します。 スワッピングではOSがプログラムを主メモリーにロードしようとした時に主メモリーが足りない場合 優先度の低いプログラムをHDDに追い出して空を作ります。 つまりページングはハードとOSで協調しているのに対し、スワッピングはOS単独で行っています。 HDDを仮想的に主メモリーの拡張部に見せかけているのはページングの方でこれが仮想記憶方式と呼ばれます。 OSの関与度が低いわけで、主メモリーを増やしたり減らしたりしても、処理速度以外は全く影響を受けません。

その他の回答 (3)

  • Werner
  • ベストアンサー率53% (395/735)
回答No.4

仮想記憶とは、OSが各アプリケーションに固有の仮想メモリ領域を提供するためのメモリ管理技法です。 これにより、不連続な物理メモリ領域を連続した仮想メモリ領域として利用でき、 他のアプリケーション(プロセス)のメモリ使用を気にする必要が無くなります。 この仮想記憶を実現するためには、仮想メモリ領域と物理メモリ領域のマッピングが必要ですが、 ページング方式はこれを実現(実装)するための手段の一つです。 ページング方式の他には、セグメント方式というのもありますが、 今使われているのはほとんどページング方式でしょう。 (メモリ)スワッピングとは、メインメモリを効率的に利用するために 使用していない命令やデータを二次記憶装置(HDD)に移すことを言います。 ページング方式を用いている場合は、 スワッピングはページ単位で行われ 退避/復帰動作をそれぞれスワップアウト/スワップインと呼びます。 歴史的には、(ページ単位ではなく)プログラム全体を退避・復帰させることをさして スワッピングといっていたようですが、 今はページ単位の退避・復帰でもスワップの語を使うので どちらの意味で使っているのか注意しないと理解の妨げになるかもしれません。 なお、スワッピングによりメインメモリの容量以上の仮想メモリ領域を扱えるようにすることも 仮想記憶の主な目的の1つですし、実際にこのことが重要視されることは多いです。 ただ、仮想記憶の本質は一番上に書いた仮想メモリ領域の提供であると思います。 仮想記憶 - Wikipedia http://ja.wikipedia.org/wiki/%E4%BB%AE%E6%83%B3%E8%A8%98%E6%86%B6 ページテーブル - Wikipedia http://ja.wikipedia.org/wiki/%E3%83%9A%E3%83%BC%E3%82%B8%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB Paging # Terminology differences - paging versus swapping - Wikipedia, the free encyclopedia http://en.wikipedia.org/wiki/Paging#Terminology_differences_-_paging_versus_swapping

回答No.3

コンピューターでプログラムを処理する場合は、ディスクからプログラムをメモリ上に読み込み、メモリー上のプログラムを使って処理を行っていきます。ただ、メモリはディスクに比べ高価ですので、メモリーを多く確保することは価格面で問題になってきますので、より多くのプログラムを併行して処理をさせるには、一時的に物理メモリーからディスクに退避させます。これをスワッピングといい、この退避するディスクの領域をスワップメモリとか、仮想メモリとか言います。 一方、ページングとは記憶装置の割り当ての単位です。

回答No.1

どちらも仮想記憶ですが、ここで詳しく説明されています。 http://www.komatsu-c.ac.jp/~yanagiha/lecture/1999/gairon/gairon-8.html