仮想記憶(仮想メモリ)
仮想記憶(英:virtual memory)とは仮想的な記憶領域のことであり、仮想記憶を利用することで主記憶装置(メインメモリ)の容量を超えてメモリ空間を利用することができます。
仮想記憶の役割
プログラム内蔵方式を採用しているコンピュータは、プログラムを実行するときハードディスクやSSDなどの補助記憶装置に保存してあるプログラムを主記憶装置(メインメモリ)に格納し、それをCPUが読み出し実行します。
プログラムを主記憶装置上の領域に配置したり、不要になったプログラムを解放したりすることを「実記憶管理」といい、実記憶管理には「固定区画方式」「可変区画方式」「オーバーレイ方式」「スワッピング方式」などの区画方式があります。
実記憶管理の場合、主記憶装置上に直接プログラムを配置するため、容量の上限や配置場所など、限られた容量の中で効率よく記憶領域の割り当てと解放を管理する必要があり、いろいろと大変です。
詳しくはこちら
そこで使用するのが仮想記憶です。仮想的なメモリ空間を作りそこにプログラムを配置します。
仮想記憶を使うことで、主記憶装置と補助記憶装置をあわせて作った広大なメモリ空間を自由に扱うことができます。
スポンサーリンク
仮想記憶の仕組み
仮想記憶は"仮想的な記憶領域"です。そのため、実際のデータは主記憶装置(または補助記憶装置)に記憶します。
次の図は、仮想記憶のイメージ例です。仮想記憶に記憶した実際のデータは、主記憶装置と補助記憶装置に記憶されています。
仮想記憶と主記憶装置(または補助記憶装置)の対応付けは、メモリ管理ユニット(MMU:Memory Management Unit)と呼ばれる装置が担当し、仮想的に与えられた仮想アドレス(または論理アドレス)を実アドレス(または物理アドレス)に変換します。
この仕組みを「動的アドレス変換機構 (DAT : Dynamic Address Translation)」といいます。
仮想記憶の実体は、主記憶装置と補助記憶装置を合わせて作ったメモリ空間です。主記憶装置に入らないデータや必要性の低いデータを補助記憶装置に記憶します。
仮想記憶は、プログラムから見たら大容量の主記憶装置があるのと同じです。(プログラムからは仮想記憶しか見えない)
実記憶管理の場合、主記憶装置上に直接プログラムを配置するため、容量の上限や配置場所など、限られた容量の中で効率よく記憶領域の割り当てと解放を管理する必要がありました。
仮想記憶は"仮想的な記憶領域"のため、広大なメモリ空間の空いている場所に配置すればよく、実際のデータも「動的アドレス変換機構」で格納位置がわかるため、主記憶装置(または補助記憶装置)の空いている場所に配置することができ、実記憶管理に比べるとデータを柔軟に扱うことができます。
まとめ
- 仮想記憶とは仮想的な記憶領域のこと。
- 主記憶装置の容量を超えてメモリ空間を利用できる。