仮想メモリ 【virtual memory】 仮想記憶 / バーチャルメモリー

概要

仮想メモリ(virtual memory)とは、オペレーティングシステム(OS)によるメモリ管理の方式の一つで、メモリ領域に物理的なアドレス(番地)とは別に仮想的アドレスを割り当てて管理する方式。

細切れのメモリ空間を連結して一つの連続した空間として利用したり、ストレージ外部記憶装置)上にも仮想的メモリ領域を確保することで、メインメモリ物理メモリ)の容量を超えてメモリ空間を利用することができる。

物理メモリと仮想メモリの対応付け

OS物理メモリ上の領域と仮想メモリ上の領域の対応付け(マッピング)をい、コンピュータ内部のMMUMemory Management Unit)と呼ばれる制御回路によって相互のアドレスの変換をう。かつてはMMUが独立したICチップなどとして提供されることもあったが現在ではほとんどの場合マイクロプロセッサCPU/MPU)に内蔵されている。

物理メモリ空間でのアドレスを「物理アドレス」(physical address)あるいは「実アドレス」(real address)、仮想メモリ空間内におけるアドレスを「論理アドレス」(logical address)あるいは「仮想アドレス」(virtual address)と呼ぶ。

OS上で動作するプログラムプロセス)には仮想メモリ領域が割り当てられ、OSを介してメモリアクセスする。こうすることで物理メモリ上で細切れの領域を集めて一つの大きな仮想メモリ領域を確保することができる。個々のプログラム側でも自ら物理メモリ領域を管理する必要がなくなり、OSから連続したアドレス空間が与えられたように見える。

ストレージ領域の利用

ハードディスクSSDなどのストレージ装置上に専用の領域(スワップファイルページファイルスワップ領域などと呼ばれる)を設け、仮想アドレスを割り当てることにより、仮想メモリ空間を物理メモリ空間より大きく取ることができる。

ストレージ上の領域に実際にアクセスするには物理メモリ上にその内容を読み込まなければならないため、物理メモリの中で現在使われていない領域との入れ替え(スワップ)がOSによってわれる。

メインメモリの物理容量に対してあまりに大きな仮想メモリを確保すると、このスワップ処理が頻繁に発生するようになり、ついには処理がほとんど進まない状況に陥る「スラッシング」(thrashing)現象が発生することがある。

ページとセグメント

仮想メモリの管理を一定の大きさの領域を単位としてう方式を「ページング方式」、プログラムデータのまとまりごとに不定長の大きさで管理する方式を「セグメント方式」と呼ぶ。

現代ではほとんどの場合ページング方式が用いられる。ページング方式の仮想メモリでは、ページと呼ばれる決まった大きさ(4KBを採用しているシステムが多い)の領域にメモリを分割し、ページごとに仮想メモリ空間と物理メモリ空間の対応付けを管理する。

(2019.7.22更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる