【ファイフォ】

FIFO(先入先出) とは?

💡 先に並んだ人から順番にどうぞ、行列の基本ルール
📌 このページのポイント
FIFO(先入先出)のしくみ A 最初に入った B C D 最後に入った 入口 エンキュー 出口 デキュー キュー(待ち行列) 行列のルール: 先に並んだ人(A)から先にサービスを受ける First In, First Out
FIFO(先入先出)のイメージ
ひよこ ひよこ

FIFOってどういう意味なの?

ペンギン先生 ペンギン先生

「First In, First Out」の略で、最初に入れたものを最初に取り出すルールのことだよ。コンビニの飲み物の棚を想像してみて。奥から補充して手前から取るよね。先に入れた古い商品から売れていくのと同じ仕組みだよ。

ひよこ ひよこ

コンピュータではどこで使われているの?

ペンギン先生 ペンギン先生

一番身近なのはプリンターの印刷キューだね。先に送った文書から順番に印刷されるでしょ?あとはOSがプロセスを順番に実行するスケジューリングや、メッセージキューでの非同期処理にも使われているよ。

ひよこ ひよこ

キューとFIFOって同じものなの?

ペンギン先生 ペンギン先生

いい質問だね。FIFOは「先入先出」というルール(概念)で、キューはそのルールを実現するデータ構造のことだよ。つまり、キューはFIFOの仕組みで動くデータ構造、という関係だね。

ひよこ ひよこ

LIFOっていうのもあるって聞いたんだけど、何が違うの?

ペンギン先生 ペンギン先生

LIFOは「Last In, First Out」で、最後に入れたものを最初に取り出すルールだよ。お皿の積み重ねをイメージしてみて。一番上に置いたお皿を最初に取るよね。FIFOは行列、LIFOは積み重ね、と覚えるとわかりやすいよ。

ひよこ ひよこ

FIFOを使わないとどうなるの?

ペンギン先生 ペンギン先生

順番を守らないと「先に来たのにずっと待たされる」という不公平が起きるんだ。これをスターベーション(飢餓状態)と呼ぶよ。ただし、優先度付きキューのように意図的にFIFOを崩す設計もあって、緊急度の高い処理を先にさばくケースもあるんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「FIFO」って出てきたら「先に入れたものから先に出す、行列の順番ルール」と思えればだいたいOK!
📖 おまけ:英語の意味
「First In, First Out」 = 先入先出(先に入ったものが先に出る)
💬 「最初に入ったものが最初に出る」をそのまま略した言葉だよ。会計や在庫管理の世界でも同じ用語が使われているんだよ
← 用語集にもどる