JA
マイツール

ページ置換アルゴリズム計算(FIFO・LRU・Optimal)

FIFO・LRU・Optimal・LFU・Clockのページ置換をシミュレートし、参照ごとのフレーム、ヒットとページフォルト、ヒット率、ベレイディの異常のチェックまで表示します。

ページフォルト
12
LRU、フレーム3個
ヒット
8
ヒット率
40%
フォルト率
60%

この範囲ではベレイディの異常は起きていません。フレームを増やしてフォルトが増えたアルゴリズムはありません。

LRUは、最後に使われてから最も時間が経っているページを置換します。

フレーム数別のページフォルト
  • FIFO
  • LRU
  • Optimal
  • LFU
  • Clock
フレーム数別のページフォルト: FIFO, LRU, Optimal, LFU, Clock051015201234567フレーム数
LRU、フレーム3個
#ページフレーム1フレーム2フレーム3結果追い出したページ
177フォルト
2070フォルト
31701フォルト
42201フォルト7
50201ヒット
63203フォルト1
70203ヒット
84403フォルト2
92402フォルト3
103432フォルト0
110032フォルト4
123032ヒット
132032ヒット
141132フォルト0
152132ヒット
160102フォルト3
171102ヒット
187107フォルト2
190107ヒット
201107ヒット
フレーム数別のページフォルト
フレーム数FIFOLRUOptimalLFUClock
12020202020
21517131515
3151291314
4108899
597779
666666
766666
マイツール →
広告

メモリがいっぱいなのに、プログラムが読み込まれていないページを必要とすると、OSは追い出すページを選ばなければなりません。この選択が、ページフォルトの発生回数を左右します。この計算ツールは、代表的な置換アルゴリズムであるFIFO・LRU・Optimal・LFU・Clock(セカンドチャンス)を参照列に適用し、参照ごとのフレーム、ヒット・フォルトを表示し、ヒット率を求め、すべてのアルゴリズムをフレーム数ごとに比較して、ベレイディの異常が起きていればそれを示します。

使い方

  1. 参照列を入力します。使われる順に並べたページ番号です。
  2. フレーム数を設定します。
  3. アルゴリズムを選びます。
  4. フレームの表、フォルト回数、フレーム数ごとの比較を確認します。

計算式

ヒット率 = ヒット ÷ 参照数 · フォルト率 = フォルト ÷ 参照数 · フォルトには空きフレームへの最初の読み込みも含む

FIFOは最も早く読み込まれたページを、LRUは最後の使用が最も古いページを、Optimalは次の使用が最も遠い(または二度と使われない)ページを、LFUは読み込み後の使用回数が最も少ないページ(同数なら先に読み込まれたもの)を追い出します。Clockはフレームを巡って参照ビットを消しながら進み、すでにビットが落ちている最初のページを追い出します。どのアルゴリズムも、教科書と同様に最初の読み込みをフォルトとして数えます。比較表は、フレーム1個から12個まで繰り返し実行した結果です。

計算例

教科書の参照列7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1とフレーム3個では、LRUのページフォルトは12回、ヒットは8回(ヒット率40%)で、FIFOは15回、Clockは14回、Optimalは下限の9回です。参照列1 2 3 4 1 2 5 1 2 3 4 5では、FIFOはフレーム3個でフォルト9回、4個で10回となります。これがベレイディの異常です。

よくある質問

ベレイディの異常とは何ですか?

一部の参照列では、FIFOにフレームを多く与えると、かえってページフォルトが増えます。LRUとOptimalはスタックアルゴリズム、つまりkフレーム内のページが常にk + 1フレーム内のページの部分集合になるため、この現象は起きません。

Optimalが実際のシステムで使われないのはなぜですか?

今後のページ参照の順序を知っている必要があるためです。基準として使われ、同じ参照列では、これより少ないフォルトのアルゴリズムは存在しません。

最初の読み込みもフォルトに数えますか?

はい。メモリにないページは、空きフレームがあるかどうかにかかわらずフォルトを起こします。これは強制ミス(コンパルソリミス)またはコールドミスと呼ばれます。

出典

最終更新:

このツールを引用する
APA

kakaoCalc. (2026, November 8). ページ置換アルゴリズム計算(FIFO・LRU・Optimal). https://kakao.mobile/ja/tools/page-replacement-simulator/

MLA

“ページ置換アルゴリズム計算(FIFO・LRU・Optimal).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/page-replacement-simulator/.

広告