メインコンテンツへ
コンピュータ構成要素

主記憶に3つのページフレームがある。参照列が 1, 2, 3, 1, 4, 2 であり、LRU(Least Recently Used)アルゴリズムでページ置換を行うとき、ページフォルトの発生回数として正しいものはどれか。最初はすべてのフレームが空の状態から始める。

ア.3回
イ.4回
ウ.5回正解
エ.6回

解説

LRUは「最近使っていないページを追い出す」ページ置換戦略。アクセス履歴を一つずつ丁寧に追えば必ず解ける!

なぜ ウ が正解か

フレーム数=3、参照列: 1,2,3,1,4,2。①ページ1: フォルト。フレーム=[1]。②ページ2: フォルト。フレーム=[1,2]。③ページ3: フォルト。フレーム=[1,2,3]。④ページ1: ヒット。フレームそのまま、1のLRU順を更新=[2,3,1]。⑤ページ4: フォルト。最古=2(最後使用②)を置換。フレーム=[3,1,4]。⑥ページ2: フォルト。最古=3(最後使用③)を置換。フレーム=[1,4,2]。合計フォルト数=①②③⑤⑥=5回。

なぜ ア は間違いか

3回はフレームが3つあるので最初の3参照でフォルトが起きた場合のみ。その後のアクセスでも追加フォルトが発生するため3回は少なすぎる。

なぜ イ は間違いか

4回はLRU計算の途中でヒットかフォルトかの判定を誤った場合に出る値。④ページ1はヒット(フレームに存在)なのでフォルトにカウントしない。

なぜ エ は間違いか

6回は全参照がフォルトになる場合だが、④ページ1はフレームに存在するためヒットとなり、6回にはならない。

出典: AI生成問題(学習用)