仮想記憶とは?
仮想記憶とは、主記憶より大きな論理アドレス空間をプログラムに見せる仕組み。実記憶に無いページを参照するとページフォールトが発生し、補助記憶から読み込む(ページイン)。空きが無ければ既存ページを追い出す(ページアウト)。
高度試験・午前I(全区分共通)の過去問では8回出題されています(2016年度〜2025年度)。
かそうきおく
仮想記憶の意味
主記憶より大きな論理アドレス空間をプログラムに見せる仕組み。実記憶に無いページを参照するとページフォールトが発生し、補助記憶から読み込む(ページイン)。空きが無ければ既存ページを追い出す(ページアウト)。
仮想記憶の具体例
必要になった時点で初めて読み込む方式がデマンドページング、先読みしておく方式がプリページング。プリページングはページフォールトの待ち時間を減らせる。
仮想記憶は試験でどう引っ掛けられる?
ページフォールトの回数=ページインの回数であり、ページアウトの回数はそれ以下(初回は空き領域に載るため追い出しが起きない)。固定長ページのページング方式では外部断片化は起きない。
仮想記憶と関連する用語
仮想記憶が出た過去問
仮想記憶方式に関する記述のうち,適切なものはどれか。
正解:LRUアルゴリズムは,使用後の経過時間が最長のページを置換対象とするページ置換アルゴリズムである。
要点:LRUは最長未使用ページを置換する。局所性が前提
LRU(Least Recently Used)は最後に参照されてから最も時間が経ったページ、すなわち最長未使用のページを追い出すアルゴリズムである。参照の局所性から、直近に使われていないページは今後も使われにくいという前提に立つ。ページ置換方式としてFIFOより一般にヒット率が高い。
出典:平成28年度 春期 高度共通_午前I試験 am1 問6(IPA)ページング方式の仮想記憶において、あるプログラムを実行したとき、1回のページフォールトの平均処理時間は30ミリ秒であった。ページフォールト発生時の処理時間が次の…
正解:0.75
要点:加重平均の式を立てて割合を逆算する(20x+60(1−x)=30)
ページアウトを伴わない処理の割合をxとすると、平均処理時間は 20x + 60(1-x) = 30 と表せる。これを解くと 60 - 40x = 30 より 40x = 30、x = 0.75 となる。すなわち4回に3回はページインだけで済んでいたことになる。
出典:平成30年度 秋期 高度共通_午前I試験 am1 問6(IPA)ページング方式の仮想記憶における主記憶の割当てに関する記述のうち、適切なものはどれか。
正解:プログラム実行時のページフォールトを契機に、ページをロードするのに必要な主記憶が割り当てられる。
要点:デマンドページングは必要になった時点でページを読み込む
ページング方式ではデマンドページングが基本であり、プログラムの実行に先立ってすべてを読み込むのではなく、実際にアクセスされたページが主記憶にないとき(ページフォールト発生時)に初めて主記憶を割り当ててページを読み込む。このため割当て量はプログラムの進行に応じて変化する。
出典:平成30年度 春期 高度共通_午前I試験 am1 問6(IPA)仮想記憶方式で、デマンドページングと比較したときのプリページングの特徴として、適切なものはどれか。ここで、主記憶には十分な余裕があるものとする。
正解:将来必要と想定されるページを主記憶にロードしておくので、実際に必要となったときの補助記憶へのアクセスによる遅れを減少できる。
要点:プリページングは先読みでページフォールトの待ち時間を減らす
プリページングは、近い将来に参照されると予測したページをあらかじめまとめて主記憶へ読み込んでおく方式である。実際に参照した時点ではすでに主記憶上にあるため、ページフォールトによる補助記憶アクセスの待ち時間を減らせる。主記憶に余裕がある前提では有効だが、予測が外れると無駄なページを読み込むことになる。
出典:令和2年度 10月 高度共通_午前I試験 am1 問6(IPA)ページング方式の仮想記憶において、ページ置換えの発生頻度が高くなり、システムの処理能力が急激に低下することがある。このような現象を何と呼ぶか。
正解:スラッシング
要点:ページ置換えの頻発で性能が急落する現象がスラッシング
実記憶が不足すると、ページイン・ページアウトが頻発して主記憶と補助記憶の入出力にCPU時間が費やされ、本来の処理がほとんど進まなくなる。この現象をスラッシングと呼ぶ。多重度を下げる、実記憶を増設するなどが対策となる。
出典:令和3年度 秋期 高度共通_午前I試験 am1 問6(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。