ページフォルトって何?
「机」と「本棚」で理解する仮想記憶
基本情報技術者試験で、多くの人が苦手にする分野の一つが**仮想記憶(ページング)**です。
「ページイン」「ページアウト」「ページフォルト」など、専門用語だけを暗記しようとすると混乱してしまいます。
そこで今回は、
- RAM=机の上
- SSD=本棚
という身近な例えを使って、ページフォルトの流れを図とともに分かりやすく解説します。
まずは全体の流れを見てみましょう

この図が今回の記事の全体像です。
プログラムを実行すると、必要なページだけをRAMへ読み込みます。
もし必要なページがRAMになければページフォルトが発生し、
- 必要ならページを追い出す(ページアウト)
- SSDから必要なページを読み込む(ページイン)
- ページテーブルを更新する
という流れで処理が行われます。
それでは、①〜④を順番に見ていきましょう。
① RAMとSSDの役割
コンピュータには、大きく分けて2つの保存場所があります。
- RAM(メモリ)
- 非常に高速
- 容量は小さい
- SSD
- 容量は大きい
- RAMより遅い
身近な例では、
- RAM=机の上
- SSD=本棚
と考えると理解しやすくなります。
机の上には今使う資料だけを置き、その他は本棚にしまっておくイメージです。
コンピュータも同じように、必要なページだけをRAMへ読み込んで処理しています。

② RAMにあるページを実行
CPUがページBを使いたいとします。
ページテーブルを見ると、
| ページ | RAM |
|---|---|
| A | 1 |
| B | 2 |
| C | 3 |
となっています。
ページBはRAMの2番にあるため、そのまま実行できます。
この場合はページフォルトは発生しません。

ここに②の図を配置
③ ページフォルト(RAMに空きがある場合)
今度はページDを使いたくなりました。
しかし、ページDはRAMにはありません。
これがページフォルトです。
今回はRAMに空きがあるため、SSDからページDを読み込みます。
この操作をページインと呼びます。
ページDを読み込むだけなので、他のページを追い出す必要はありません。

④ ページフォルト(RAMが満杯の場合)
今度はページEを使いたくなりました。
しかしRAMは
- A
- B
- C
でいっぱいです。
空きがないため、そのままではページEを読み込めません。
そこで今回は、例として**LRU(最近最も使われていないページを追い出す方式)**を使います。
① ページアウト
まずページAをRAMから取り除き、SSDへ戻します。
この操作をページアウトといいます。
するとRAMの1番が空きます。
② ページイン
空いた1番へ、SSDからページEを読み込みます。
このとき、SSD上のページEは消えません。
SSDからRAMへはコピーされるだけだからです。
③ ページテーブル更新
最後にページテーブルを書き換えます。
| ページ | RAM |
|---|---|
| A | なし |
| B | 2 |
| C | 3 |
| D | なし |
| E | 1 |
実際のOSでは、BやCをわざわざ移動させることはほとんどありません。
空いた場所へ新しいページを入れるため、ページテーブルもAとEだけ更新すれば済みます。


用語を整理しよう
| 用語 | 意味 |
|---|---|
| ページフォルト | 必要なページがRAMにない状態 |
| ページイン | SSDからRAMへページを読み込む |
| ページアウト | RAMからSSDへページを戻す |
| ページテーブル | ページがRAMのどこにあるかを管理する表 |
ページ置換アルゴリズム
RAMがいっぱいになったら、どのページを追い出すかを決める必要があります。
代表的なのは次の3つです。
| 方式 | 考え方 |
|---|---|
| FIFO | 一番最初に入ったページを追い出す |
| LRU | 最も長く使われていないページを追い出す |
| LFU | 使用回数が最も少ないページを追い出す |
基本情報技術者試験では、この違いもよく出題されます。
まとめ
覚えておきたいポイントは次の4つです。
- RAMは机、SSDは本棚と考えるとイメージしやすい。
- RAMにページがあれば、そのまま実行できる。
- RAMになければページフォルトが発生し、ページインが行われる。
- RAMが満杯なら、ページアウトで空きを作ってからページインし、最後にページテーブルを更新する。
仮想記憶は難しく感じるかもしれませんが、「机と本棚」というイメージで考えると、ページフォルト・ページイン・ページアウトの関係が自然につながります。
用語を暗記するのではなく、「なぜその処理が必要なのか」を図と一緒に理解することが、基本情報技術者試験攻略への近道です。





ディスカッション
コメント一覧
まだ、コメントがありません