【ページフォールト】
ページフォールト とは?
💡 本棚にない本を図書館の倉庫から取り寄せるようなメモリの仕組み
📌 このページのポイント
ページフォールトって何なの?エラーが起きているの?
エラーというよりは「ちょっと待って、必要なデータがメモリにないから取りに行くね」という合図だよ。図書館で読みたい本が棚になくて、倉庫から取り寄せてもらうような感じだね。
どうしてメモリにデータがないことがあるの?
ページフォールトが起きるとどうなるの?
頻繁に起きると何が問題なの?
ページフォールトを減らす方法ってあるの?
一番シンプルなのは物理メモリを増やすことだね。あとはページ置換アルゴリズムの選択も重要で、LRUのように「最近使っていないページ」から追い出す方式だと、頻繁に使うページがメモリに残りやすくてフォールトが減るよ。プログラム側でもデータのアクセスパターンを局所性が高くなるように工夫すると効果的なんだ。
まとめ:ざっくりこれだけ覚えればOK!
「ページフォールト」って出てきたら「必要なデータがメモリになくてディスクから取り寄せること」と思えればだいたいOK!
📖 おまけ:英語の意味
「Page Fault」 = ページ障害・ページ不在例外
💬 faultは「障害・欠陥」という意味で、必要なページがメモリに「欠けている」状態を指すんだよ