ページフォールト(ぺーじふぉーると)

ページング方式の仮想記憶システムで、CPUが参照しようとした仮想アドレスに対応するページが主記憶上に存在しないときに発生する内部割込み。この割込みを契機としてOSに制御が移り、該当するページを主記憶上で使える状態にする処理が行われる。ページが補助記憶装置にある場合は、主記憶への読み込みが伴う。

詳細解説

ページテーブルの該当エントリで主記憶に不在であることが検出されると、この割込みが発生します。該当ページが補助記憶装置にある場合、OSはそれを主記憶へ読み込むページインを実行します。主記憶に空き枠がない場合は、FIFOやLRUなどのページ置換えアルゴリズムによって追い出すページを選びます。追い出すページが主記憶上で更新されていれば補助記憶装置へ書き戻すページアウトが必要になりますが、空き枠がある場合や更新されていない場合は書き戻しを行いません。一方、初めてアクセスする領域へのゼロ埋めページの割当てや、主記憶上に残っているページへの対応付けのやり直しで解消するフォールトもあり、この場合は補助記憶装置への入出力を伴わず、フォールトの回数がそのまま入出力の回数になるわけではありません。

補助記憶装置からの読み込みを伴う処理はミリ秒単位の時間がかかり、ナノ秒単位の主記憶アクセスとは桁が大きく違います。性能を見積もる問題では、フォールト1回ごとに補助記憶装置からの読み込みが起こるという単純化したモデルを置いたうえで単位をそろえ、1アクセスあたりの平均の遅れを「ページフォールトの発生率 × 1回あたりのオーバヘッド時間」として求めます。なお、主記憶の空き枠を作るのはページ置換えであり、ヒープ上の不要領域を回収するガーベジコレクションとは別の仕組みです。

ページフォールトが問われた過去問

  • 2019(R1)秋 午前II 問19ページング方式の仮想記憶において,主記憶の 1 回のアクセス時間が 300 ナノ秒で,主記憶アクセス 100 万回に 1 回の割合でページフ
  • 2021(R3)秋 午前 問17主記憶へのアクセスを 1命令当たり平均 2回行い,ページフォールトが発生すると 1回当たり 40 ミリ秒のオーバヘッドを伴うシステムがある。
  • 2022(R4)秋 午前II 問5主記憶への 1回のアクセスが 200ナノ秒で,ページフォールトが発生すると 1回当たり更に 100ミリ秒のオーバーヘッドが生じるコンピュータ
  • 2023(R5)秋 午前 問16ページング方式の仮想記憶において,あるプログラムを実行したとき,1回のページフォールトの平均処理時間は 30 ミリ秒であった。ページフォール

ページフォールトが登場する過去問

  • 2021(R3)春 午前I 問6ページング方式の仮想記憶において,ページアクセス時に発生する事象をその回数の多い順に並べたものはどれか。ここで,A ≧ B は,Aの回数がB
  • 2021(R3)春 午前 問19ページング方式の仮想記憶において,ページアクセス時に発生する事象をその回数の多い順に並べたものはどれか。ここで,A ≧ B は,A の回数が
  • 2024(R6)秋 午前 問17ページング方式の仮想記憶において,ページ置換えの発生頻度が高くなり,システムの処理能力が急激に低下することがある。このような現象を何と呼ぶか
  • 2023(R5)春 午前 問18仮想記憶方式に関する記述のうち,適切なものはどれか。
  • 2022(R4)秋 午前 問17ほとんどのプログラムの大きさがページサイズの半分以下のシステムにおいて,ページサイズを半分にしたときに予想されるものはどれか。ここで,このシ

関連する分野

OS・ソフトウェア 仮想記憶・主記憶管理

用語集の一覧へ