戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2015年 春期 午前(科目A)20


問題文

ページング方式の仮想記憶において、ページ置換えアルゴリズムにLRU方式を採用する。主記憶に割り当てられるページ枠が4のとき、ページ1, 2, 3, 4, 5, 2, 1, 3, 2, 6の順にアクセスすると、ページ6をアクセスする時点で置き換えられるページはどれか。ここで、初期状態では主記憶にどのページも存在しないものとする。

選択肢

1
2
4
5(正解)

🔒 解説は解答すると表示されます

LRUページ置換え【午前解説】

正解の理由

選択肢はア:1、イ:2、ウ:4、エ:5 であり、正解はです。
LRU(Least Recently Used)は各ページの「最終参照時刻」を基に、最も古いものを置換します。本問ではページ枠が4で初期空、アクセス列 1,2,3,4,5,2,1,3,2,6 の時点で、ページ6が未存在なので置換が発生します。直前の参照時刻を比較するとページ5が最も古いため、ページ5を置換してページ6が格納されます。

解法ステップ

  1. 初期は空(枠数 = 4)。アクセスを順に処理し、ヒットなら最終参照時刻を更新、ミスなら最も古いページを置換します。
  2. 各アクセスごとのフレーム状態(参照時刻の古い順を明示)を求めると理解しやすいです。以下に時刻 t=1..10 を対応させて示します。
  3. アクセス列とフレーム更新(時刻順):
    • t1: 1 → [1]
    • t2: 2 → [1,2]
    • t3: 3 → [1,2,3]
    • t4: 4 → [1,2,3,4]
    • t5: 5 → 置換(最も古い = 1) → [5,2,3,4]
    • t6: 2 → ヒット(2の時刻更新) → [5,2,3,4]
    • t7: 1 → ミス、置換(最も古い = 3) → [5,2,1,4]
    • t8: 3 → ミス、置換(最も古い = 4) → [5,2,1,3]
    • t9: 2 → ヒット(2の時刻更新) → [5,2,1,3]
    • t10: 6 → ミス、置換(最も古い = 5) → [6,2,1,3]
  4. よって t10(ページ6アクセス時)に置換されるのはページ5、すなわち選択肢です。

選択肢別の誤答解説

  • ア: 1 — 初期ロード直後に置換されたが、その後再度ロードされており t7 に参照されているため t10 時点では最古ではありません。
  • イ: 2 — ページ2 はアクセス t9 で最近参照されており、最終参照時刻が新しいため置換対象になりません。
  • ウ: 4 — ページ4 は t8 より前に既に置換されており、t10 の時点では主記憶に存在しません(したがって置換候補にもならない)。
  • エ: 5 — 正解。最後に参照されたのは t5 で、その後は参照がなく t10 時点で最も古い参照時刻のため置換されます。

よくある誤解

  • 「出現回数で判断する」誤解: 参照回数が少ないページが置換されるとは限らず、LRU は最終参照時刻を基準にする点を見落としがちです。
  • 「初期ロード順がそのまま残る」誤解: ヒット時に参照時刻が更新されるため、初期にロードされた順序だけで置換候補を決めてはいけません。
  • 「FIFO と混同」: FIFO と LRU は異なり、FIFO は最初に入れたページを置換するため結果が異なる場合があります(Belady の異常が起こることもあるが、LRU はスタックアルゴリズムで回避されます)。

補足コラム

  • LRU は「スタックアルゴリズム」に属し、フレーム数を増やすと必ずミス数が減る(Belady の異常が起きない)性質があります。
  • 実装方法としては各ページにタイムスタンプを付ける方法や、参照順を保持する双方向リスト+ハッシュでの実装、または近似アルゴリズムとして CLOCK(Second Chance)法がよく使われます。
  • 試験で素早く処理するコツは「最新アクセス順を追う」こと。ヒット時にそのページを最も新しい扱いにするのを忘れないでください。

FAQ

Q1: ヒットしたページも置換候補から外れるのですか?
A1: はい。ヒットしたページは最も新しい参照時刻に更新されるため、直近では置換候補になりにくくなります。
Q2: フレームの中で最も古い参照時刻をどうやって素早く見つけるべきですか?
A2: 実務では参照順を保持する双方向リスト(最前部が最新、末尾が最古)とハッシュを併用して O(1) で更新・削除します。試験では時刻をメモして比較するシミュレーションで十分です。
Q3: FIFO と混同するとどうなる?
A3: FIFO は「挿入順」で置換するため LRU とはしばしば異なる結果になります。問題文に「LRU」とあるか否かを必ず確認してください。

関連キーワード: ページング、仮想記憶、LRU、ページ置換、フレーム、ページフォールト、キャッシュ
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について