1. ページフォールトとは
**ページフォールト(Page Fault)**とは、
仮想記憶方式において、CPUが参照しようとしたページが主記憶(RAM)上に存在しない場合に発生する例外(割込み)
のことです。
OSが管理する仮想アドレス空間と物理メモリの不一致が原因で発生します。

2. 前提:仮想記憶とページング方式
仮想記憶の概要
プロセスには大きな仮想アドレス空間が割り当てられる
実際に物理メモリに置くのは「使用中の一部だけ」
未使用部分は**補助記憶装置(HDD/SSD)**に退避
ページング方式
仮想アドレス空間を固定長のページに分割
物理メモリ側はページフレームに分割
対応関係はページテーブルで管理
3. ページフォールト発生の流れ(超重要)
試験でよく問われる処理手順です。
CPUが仮想アドレスを生成
MMU(Memory Management Unit)がページテーブルを参照
該当ページが主記憶に存在しないことを検出
ページフォールト割込み発生
OSが制御を取得
必要なページを補助記憶から主記憶へロード
ページテーブルを更新
中断していた命令を再実行
👉 ポイント
ページフォールトはエラーではなく正常な制御処理
4. ページフォールトの種類(試験頻出)
① メジャーページフォールト(Major Page Fault)
ページが補助記憶装置に存在
ディスクI/Oが発生
処理が遅い
② マイナーページフォールト(Minor Page Fault)
ページは既に主記憶上に存在
ただしページテーブルに未登録
ディスクI/Oなし
比較的高速
※ 応用情報では「ディスクI/Oが発生するかどうか」が判断軸
5. ページフォールトとスラッシング
スラッシング(Thrashing)
ページフォールトが頻発
CPUがほぼページ入替処理だけを行う
実質的な処理性能が極端に低下
原因
主記憶容量不足
同時実行プロセス過多
作業セットが主記憶に収まらない
6. ページフォールトを減らす工夫
OS側の対策
作業セット方式
ページ置換アルゴリズム(LRUなど)
プロセス数の制御
ページ置換アルゴリズム例(超頻出)
| アルゴリズム | 内容 |
|---|---|
| FIFO | 最初に入ったページを追い出す |
| LRU | 最も長く使われていないページ |
| LFU | 使用回数が最少のページ |
👉 ページフォールト削減に有効なのは LRU
7. 応用情報試験での典型的な問われ方
よくある設問パターン
「ページフォールトが発生する条件はどれか」
「ページフォールト発生時の処理順」
「スラッシングの説明として正しいもの」
「ディスクI/Oが発生するのはどれか」
キーワード暗記用まとめ
仮想記憶
ページテーブル
主記憶に存在しない
割込み
補助記憶装置
再実行
8. 一文で説明できるように(試験用)
ページフォールトとは、仮想記憶方式において、CPUが参照したページが主記憶上に存在しない場合に発生する割込みであり、OSが補助記憶からページを読み込むことで処理を継続する。