基本情報技術者
テクノロジ系
仮想記憶のページング方式でページフォルトが発生する原因として適切なものはどれか。
1.
ページのサイズが大きすぎるとき
2.
アクセスしたページが主記憶に存在しないとき
✓ 正解
3.
ページの数が多すぎるとき
4.
主記憶が不足しているとき
📝 解説
仮想記憶のページング方式では、プロセスが使用する論理アドレス空間をページという固定サイズのブロックに分割し、実際に必要なページだけを主記憶(RAM)に読み込んで使います。ページフォルトとは「プロセスがアクセスしようとしたページが現在主記憶に存在しない」ときに発生する割込みです。図書館に例えると、本棚(主記憶)に置けるのは一部の本だけで、残りの本は書庫(補助記憶)にあります。読みたい本が書庫にある場合(ページフォルト)、司書(OS)が書庫から持ってくる(ページイン)操作が発生します。この主記憶への読み込みを「ページイン」、主記憶から補助記憶への追い出しを「ページアウト」と呼びます。ページフォルトが頻発すると処理性能が極端に低下する「スラッシング」が起きます。誤答の「ページのサイズが大きすぎるとき」はページサイズの問題でなく存在の有無が問題です。「主記憶が不足しているとき」はページフォルトが起きやすい状況ですが、ページフォルトの直接原因は「アクセスしたページが主記憶に存在しないこと」です。「ページフォルト=アクセスしたページが主記憶に不在のとき発生」と覚えましょう!