【図解】FIFO方式アルゴリズムを具体例付きで解説

ソフトウェア
スポンサーリンク

 

基本/応用情報技術者 教えあいコミュつくりました!【LINEオープンチャットで無料です 7/30~】

スクールに入る気はないけど、みんなで教え合いながら合格を目指したい人はどうぞー!
 

 

・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イラスト図

FIFOアルゴリズムをキュー(データ構造の一種)っぽく実装した場合は上図のような感じになります。参照ページがページ枠内になければ、キューの最深部をページアウトし、キューの最上部に参照ページ(使いたいページ)を挿入します。

ページフォルトは、ページインさえしていればページアウトしなくても発生していることに注意してください。誤って覚えることが多い箇所です。

 

まとめ

図を見ながら確認すれば容易に理解できますね!

お疲れ様でした。

コメント

タイトルとURLをコピーしました