・FIFOってなに??
・図を使って説明してほしい
という方にとって有用な記事になっています。図を用いて丁寧に説明していますので、スムーズに理解することが可能です。では、見ていきましょう!
「というかページって何??」、「ページフォルトって何者?」という方は
【図解】ページング方式が3分でわかる!【全用語解説】
・ページング方式ってなに??・他の専門用語もちゃんと説明して・図を使ってわかりやすくお願い 今回の記事では、このような方のお役に立てる記事になっています。ページング方式とは何なのか、関連用語も含めて理解し...
まずはこちらをご確認ください。
FIFO(First In First Out)とは
ページ置き換えに使われるアルゴリズムの一種で、一番シンプルなものです。ページフォルト時に、主記憶上で一番初めにページインしてきたページをページアウトしようってアルゴリズムです。他にLRU(参照が一番古いページをどける)、OPT(最小のページフォルトで済むようにする理論上のアルゴリズム)などがあります。
FIFOアルゴリズム
では、FIFOアルゴリズムを具体例を用いて解説していきます。今回の例での前提条件は以下の通りです。
前提条件
- ページ枠数:3
- プログラムの大きさ:5ページ
- 参照ページ番号順:0→1→2→3→0→3→4→2→3→2→1→3
では、さっそくFIFOアルゴリズムを確認していきましょう。簡単ですので、すぐにわかると思います。
具体例
FIFOアルゴリズムをキュー(データ構造の一種)っぽく実装した場合は上図のような感じになります。参照ページがページ枠内になければ、キューの最深部をページアウトし、キューの最上部に参照ページ(使いたいページ)を挿入します。
ページフォルトは、ページインさえしていればページアウトしなくても発生していることに注意してください。誤って覚えることが多い箇所です。
まとめ
図を見ながら確認すれば容易に理解できますね!
お疲れ様でした。
コメント