情処|LRUアルゴリズムとLFUアルゴリズムの違い

情報処理

ページングのアルゴリズムにおいて、その性質の違いが情報処理の試験で問われることがある。

LRUとLFUの違い

メモリに書き込まれたデータを対比させるタイミングの違いで区別される。試験の問題としてはLFUよりもLRUのほうがパズル要素があるため出題されるケースが多いと思われる。

LRU…Least Recentry Used =もっとも最近使われていないもの

LFU…Least Frequently Used =もっとも頻繁に使われていないもの

暗記よりも英語のイメージでつかむ

※LeastはLittleの最上級で「もっとも~されていない」の意味がある。Recentry=最近、Frequently=頻繁に、という意味で、英語的に意味が分かればどういうものかイメージができるがイメージができないと厳しい。暗記しておかないと詰んでしまうわけだが…暗記よりも英語の意味を理解しておいて、アルゴリズムとして意図をイメージできるかを大切にしたい。

FIFOとLILOもセットで理解しておく

なお、以下のものはページングアルゴリズムではなくてデータ構造だが、データがメモリに入ってきてあるタイミングでデータが消されるという意味では似ているため、FIFOとLILOについても一緒に知っておくとよい。試験の問題でも一緒くたにされて性質が問われることがある。

FIFO(First-In, First-Out)

 ⇒ 最初に入ってきたものが最初に出ていく=キュー構造

LILO(Last-In, Last-Out)

 ⇒ 最後に入ってきたものが最後に出ていく=スタック構造

FIFO「フィフォ」は最初に入ってきたアイテムが最初に出ていくので、イメージとしてはアイテムが滞留する一本道で順番に追い出されていく”キュー”(Queue)=順番待ちのイメージ。

LILO「リロ」は最初に入ってきたアイテムが最後に出ていくので、イメージとしてアイテムが積み上がる”スタック”(Stack)=積み重なったもののイメージである。

※他にもFILOやLIFOというデータ構造があるらしいが、まず試験にも実務にも出てこないし、仮に出てきても英語のイメージがあればわかるので省略する。

まとめ

  • ページングアルゴリズム
    • LRU
    • LFU
  • データ構造
    • FIFO
    • LILO

※LRUやLFUはアルゴリズムであり、FIFOやLILOはデータ構造そのもの。そもそも言葉が指している対象が異なるので注意すること。

情報処理
スポンサーリンク
シェアする
gomiryoをフォローする
ごみぶろぐ

コメント

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