本文へスキップ
totonoe.tech

OSを整える

中級

ページ置き換えを整える。

= メモリが足りないとき、どれを追い出すかを比べる

枠の中身と、ページフォールトの印

方式を選ぶと、参照するたびに枠がどう変わるかが表で出ます。●がページフォールト(枠に無かった)です。

4つの方式を並べて比べる

枠を増やすとフォールトは減る?(Belady の異常)

同じ参照列で、枠の数を1〜7に変えたときのフォールト回数です。前より増えたところに印をつけます。

「Belady の例」のボタンを押すと、FIFO では枠3で9回、枠4で10回と、枠を増やしたのにフォールトが増えます。LRU と OPT は、枠を増やしても増えません(スタックアルゴリズムと呼ばれる性質)。

数え方と、4つの方式の決まり

主記憶(メモリ)に載せられるページの数には限りがあります。必要なページが載っていない(ページフォールト)とき、補助記憶から読み込み、枠が満杯なら載っているどれかを追い出します。誰を追い出すかの決め方が、ページ置き換えアルゴリズムです。

  • FIFO:枠に入った順が最も古いページを追い出す。
  • LRU:最後に使われた時刻が最も古いページを追い出す。
  • LFU:参照回数が最も少ないページを追い出す(同数なら先に入ったほう)。
  • OPT(最適):この先いちばん長く使われないページを追い出す(将来が分かる理想形)。

このページの約束

  • 最初に枠が空いている間の読み込みも、ページフォールトとして数えます(試験の典型的な数え方)。
  • 追い出したページの枠に、そのまま新しいページを入れます(枠の位置は動かしません)。
  • LFU は、枠に入ってからの参照回数で比べ、同数なら先に入ったほうを追い出します。追い出されると回数は 0 に戻ります。OPT で候補が同じ(どれも二度と使われない)ときも、先に入ったほうです。
  • LFU の同数の決め方(先に入ったほうか、最後に使われたのが古いほうか)は、教材や問題によって違います。問題文の指定があればそれに従ってください。

試験での出方と実務での意味

基本情報技術者試験では、参照列と枠の数を示して、FIFO や LRU でのフォールトの回数や、ある時点の枠の中身を問う形が典型です。OPT は先の参照を知っている必要があり、実際の OS では作れません。他の方式がどこまで理想に近いかを測る物差しとして使います。実際の OS は LRU に近い近似を使い、フォールトが続いてメモリと補助記憶の出し入ればかりになる状態(スラッシング)を避けるように作られています。

出典・時点:IPA「基本情報技術者試験」の仮想記憶(ページング方式・ページ置換えアルゴリズム)の範囲に沿った一般的な定義と、OS 教科書の定番例(参照列 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1・枠3で FIFO 15 回・LRU 12 回・OPT 9 回)による。2026年11月時点。シラバスの正確な項目名は IPA の最新版で確認してください。

このツールについて

ページの参照列とページ枠の数を入れると、枠の中身の移り変わりとページフォールトの回数を4つの方式で確かめられます。計算はこの端末の中だけで行い、どこにも送信しません。

FIFO・LRU・LFU・OPT で、ページを追い出す順番とページフォールトの回数を表で比べます。

主な機能

  • 4つの方式で枠の中身とフォールトを表にする
  • フォールトの回数を方式ごとに比べる
  • 枠の数を1〜7に変えたときの回数の表
  • Belady の異常(枠を増やすと増える)の例
  • 1手ずつの再生

よくある質問

Q. ページフォールトとは何ですか?

A. プログラムが使おうとしたページが、いま実メモリ(ページ枠)に無いときに起きる割り込みです。ディスクから読み込むので時間がかかります。回数が少ないほど速く動きます。

Q. LRU と LFU は何が違いますか?

A. LRU は「最後に使われてから一番時間がたったページ」を追い出します。LFU は「使われた回数が一番少ないページ」を追い出します。同数のときの決め方は教材によって違うので、このツールでは規則をページに書いています。

Q. OPT(最適)は実際に使われていますか?

A. OPT は「これから一番長く使われないページ」を追い出す方式で、未来の参照が分かっていないと使えません。実際の OS では使えず、ほかの方式と比べるための基準として使われます。

Q. 枠を増やすとフォールトが増えることがあるのですか?

A. FIFO では起こりえます。Belady の異常と呼ばれ、このツールの例(1 2 3 4 1 2 5 1 2 3 4 5)で、枠3では9回、枠4では10回になります。LRU と OPT では起きません。

Q. 基本情報技術者試験に出ますか?

A. 出ます。参照列が与えられ、FIFO や LRU でページフォールトが何回起きるかを数える問題が典型です。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。

運営サイト

私たちが運営するサイト