ページフォールト【page fault】ページフォルト/PF

概要

ページフォールトとは、ページング方式仮想記憶仮想メモリ)において、プログラム(プロセス)がアクセスしようとした仮想メモリ領域(ページ)が物理メモリ上に無く、ストレージに退避していることが分かったときに発生する例外あるいは割り込み処理。
ページフォールトのイメージ画像

CPU内部などにあり仮想メモリを管理する専用の装置(MMUMemory Management Unit/メモリ管理ユニット)は、要求されたページが物理メモリ上に存在しない場合にページフォールトをオペレーティングシステム(OS)に通知する。

これを受信したOSは直ちに、物理メモリ上のページから一定の基準(最後にアクセスされてからの経過時間など)で一つを選び、ストレージ上に退避している要求ページと入れ替える処理(スワップ)を行って、プロセスがそのページにアクセスできるようにする。

フォールト」(fault:障害)という名称になっているが、それ自体はいわゆるエラーや障害ではなく、通常の処理の一種である。ただし、存在しない無効なアドレスへのアクセスや、OSや他のプロセスが管理する領域へのアクセスでも発生することがあり、これらの不正なページフォールトを発生させたプログラム強制終了させられる。

(2019.12.18更新)

他の用語辞典による「ページフォールト」の解説 (外部サイト)

資格試験などの「ページフォールト」の出題履歴

▼ 基本情報技術者試験
平30修12 問18】 ページング方式の仮想記憶において,ページフォールトの発生回数を増加させる要因はどれか。
平29秋 問20】 ページング方式の仮想記憶において,ページフォールトの発生回数を増加させる要因はどれか。
平22春 問20】 仮想記憶を用いたコンピュータでのアプリケーション利用に関する記述のうち,適切なものはどれか。