読み方 : かそうメモリ

仮想メモリ【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パスポート試験
令7 問62】 OSの仮想記憶方式に関する次の記述中の a〜c に入れる字句の適切な組合せはどれか。プログラムの実行時に,コンピュータの [ a ] 装置の [ b ] な容量に制約されない,[ c ] なアドレス空間を提供する。
平21秋 問59】 OSの機能の一つである仮想記憶方式の目的はどれか。
▼ 基本情報技術者試験
令6修6 問13】 ページング方式の仮想記憶において,ページ置換えアルゴリズムにLRU方式を採用する。主記憶に割り当てられるページ枠が4のとき,ページ1,2,3,4,5,2,1,3,2,6の順にアクセスすると,ページ6をアクセスする時点で置き換えられるページはどれか。
令5修1 問19】 仮想記憶方式のコンピュータにおいて,実記憶に割り当てられるページ数は3とし,追い出すページを選ぶアルゴリズムは,FIFOとLRUの二つを考える。
令4修7 問17】 仮想記憶管理におけるページ置換えアルゴリズムとしてLRU方式を採用する。主記憶のページ枠が,4000,5000,6000,7000番地(いずれも16進数)の4ページ分で,プログラムが参照するページ番号の順が,1 → 2 → 3 → 4 → 2 → 5 → 3 → 1 → 6 → 5 → 4 のとき,最後の参照ページ4は何番地にページインされているか。
令4修6 問18】 仮想記憶におけるページ置換えアルゴリズムの一つであるLRUを説明した記述はどれか。
令4修1 問19】 ページング方式の仮想記憶において,主記憶に存在しないページをアクセスした場合の処理や状態の順番として,適切なものはどれか。
令3修12 問17】 記憶空間を一定の大きさに区切って管理し,仮想記憶を実現する方式はどれか。
令3修6 問18】 仮想記憶管理のページ入替え方式のうち,最後に使われてからの経過時間が最も長いページを入れ替えるものはどれか。
令3修1 問17】 仮想記憶方式のコンピュータシステムにおいて,処理の多重度を増やしたところ,ページイン,ページアウトが多発して,システムの応答速度が急激に遅くなった。
令3修1 問18】 ページング方式の仮想記憶において,ページ置換えアルゴリズムにLRU方式を採用する。主記憶に割り当てられるページ枠が4のとき,ページ1,2,3,4,5,2,1,3,2,6の順にアクセスすると,ページ6をアクセスする時点で置き換えられるページはどれか。
令2修1 問17】 仮想記憶方式のコンピュータにおいて,実記憶に割り当てられるページ数は3とし,追い出すページを選ぶアルゴリズムは,FIFOとLRUの二つを考える。
令1修12 問17】 仮想記憶管理のページ入替え方式のうち,最後に使われてからの経過時間が最も長いページを入れ替えるものはどれか。
令1修7 問17】 ページング方式の説明として,適切なものはどれか。
平31修1 問17】 仮想記憶方式のコンピュータシステムにおいて,処理の多重度を増やしたところ,ページイン,ページアウトが多発して,システムの応答速度が急激に遅くなった。
平30修12 問18】 ページング方式の仮想記憶において,ページフォールトの発生回数を増加させる要因はどれか。
平30修7 問17】 仮想記憶システムにおいて主記憶の容量が十分でない場合,プログラムの多重度を増加させるとシステムのオーバヘッドが増加し,アプリケーションのプロセッサ使用率が減少する状態を表すものはどれか。
平29秋 問20】 ページング方式の仮想記憶において,ページフォールトの発生回数を増加させる要因はどれか。
平29修7 問18】 仮想記憶方式のコンピュータシステムにおいて,処理の多重度を増やしたところ,ページイン,ページアウトが多発して,システムの応答速度が急激に遅くなった。
平29修6 問18】 仮想記憶管理のページ入替え方式のうち,最後に使われてからの経過時間が最も長いページを入れ替えるものはどれか。
平29春 問15】 ページング方式の説明として,適切なものはどれか。
平29春 問19】 仮想記憶方式のコンピュータにおいて,実記憶に割り当てられるページ数は3とし,追い出すページを選ぶアルゴリズムは,FIFOとLRUの二つを考える。
平29修1 問18】 ページング方式の仮想記憶において,ページ置換えアルゴリズムにLRU方式を採用する。主記憶に割り当てられるページ枠が4のとき,ページ1,2,3,4,5,2,1,3,2,6の順にアクセスすると,ページ6をアクセスする時点で置き換えられるページはどれか。
平28秋 問17】 仮想記憶システムにおいて主記憶の容量が十分でない場合,プログラムの多重度を増加させるとシステムのオーバヘッドが増加し,アプリケーションのプロセッサ使用率が減少する状態を表すものはどれか。
平28修7 問17】 記憶空間を一定の大きさに区切って管理し,仮想記憶を実現する方式はどれか。
平28修6 問17】 ページ置換えアルゴリズムにおけるLRU方式の説明として,適切なものはどれか。
平28修6 問18】 ページング方式の仮想記憶において,主記憶に存在しないページをアクセスした場合の処理や状態の順番として,適切なものはどれか。
平27秋 問17】 仮想記憶管理のページ入替え方式のうち,最後に使われてからの経過時間が最も長いページを入れ替えるものはどれか。
平27修7 問17】 仮想記憶システムにおいて主記憶の容量が十分でない場合,プログラムの多重度を増加させるとシステムのオーバヘッドが増加し,アプリケーションのプロセッサ使用率が減少する状態を表すものはどれか。
平27修6 問18】 ページング方式の説明として,適切なものはどれか。
平27春 問18】 仮想記憶方式のコンピュータシステムにおいて,処理の多重度を増やしたところ,ページイン,ページアウトが多発して,システムの応答速度が急激に遅くなった。
平27春 問20】 ページング方式の仮想記憶において,ページ置換えアルゴリズムにLRU方式を採用する。主記憶に割り当てられるページ枠が4のとき,ページ1,2,3,4,5,2,1,3,2,6の順にアクセスすると,ページ6をアクセスする時点で置き換えられるページはどれか。
平26修12 問19】 ページ置換えアルゴリズムにおけるLRU方式の説明として,適切なものはどれか。
平26春 問16】 ページング方式の仮想記憶を用いることによる効果はどれか。
平26修1 問21】 ページング方式の説明として,適切なものはどれか。
平25修7 問24】 ページング方式の仮想記憶において,実記憶上にないページをアクセスした場合の処理と状態の順番として,適切なものはどれか。ここで,実記憶には現在,空きページはないものとする。
平25修6 問24】 記憶空間を一定の大きさに区切って管理し,仮想記憶を実現する方式はどれか。
平25春 問20】 仮想記憶管理におけるページ置換えの方式のうち,LRU制御方式はどれか。
平25修1 問23】 仮想記憶管理のページ入替え方式のうち,最後に使われてからの経過時間が最も長いページを入れ替えるものはどれか。
平24秋 問19】 ページング方式の仮想記憶において,ページ置換えアルゴリズムにLRU方式を採用する。主記憶に割り当てられるページ枠が4のとき,ページ1,2,3,4,5,2,1,3,2,6の順にアクセスすると,ページ6をアクセスする時点で置き換えられるページはどれか。
平24春 問21】 仮想記憶システムにおいて主記憶の容量が十分でない場合,プログラムの多重度を増加させるとシステムのオーバヘッドが増加し,アプリケーションのプロセッサ使用率が減少する状態を表すものはどれか。
平24春 問22】 ページ置換えアルゴリズムにおけるLRU方式の説明として,適切なものはどれか。
平24修1 問24】 仮想記憶管理におけるページ置換えに関する記述のうち,LRU制御方式はどれか。
平23修7 問24】 ページング方式の仮想記憶において,主記憶に存在しないページをアクセスした場合の処理や状態の順番として,適切なものはどれか。
平23修6 問21】 仮想記憶方式の一つに,プログラムやデータの論理的な単位ごとに,仮想アドレス空間を割り当てて管理するものがある。この可変長の管理単位を示す用語はどれか。
平23修6 問24】 ページング方式の仮想記憶において,ページ置換えアルゴリズムにLRU方式を採用する。主記憶に割り当てられるページ枠が4のとき,ページ1,2,3,4,5,2,1,3,2,6の順にアクセスすると,ページ6をアクセスする時点で置き換えられるページはどれか。
平23春 問20】 ページング方式の説明として,適切なものはどれか。
平22修12 問22】 ページ置換えアルゴリズムにおけるLRU方式の説明として,適切なものはどれか。
平22修7 問22】 仮想記憶方式の一つに,プログラムやデータの論理的な単位ごとに,仮想アドレス空間を割り当てて管理するものがある。この可変長の管理単位を示す用語はどれか。
平22春 問20】 仮想記憶を用いたコンピュータでのアプリケーション利用に関する記述のうち,適切なものはどれか。
平21修12 問21】 記憶空間を一定の大きさに区切って管理し,仮想記憶を実現する方式はどれか。
平21修7 問19】 仮想記憶管理のページ入替え方式のうち,最後に使われてからの経過時間が最も長いページを入れ替えるものはどれか。
平21修6 問20】 仮想記憶におけるページ置換えアルゴリズムとしてFIFO方式を採用する。主記憶のページ枠が3で,プログラムが参照するページ番号の順序が,4,3,2,1,3,5,2のとき,ページインは何回行われるか。