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

基本情報技術者 2012年 秋期 午前(科目A)19


問題文

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

選択肢

1
2
4
5(正解)

ページング方式のLRU置換(ページ枠4)【午前2 解説】

要点まとめ

  • 結論:ページ6を参照した時点で置き換えられるのはページ5であり、正解はです。
  • 根拠:LRU(最も長く使われていない)方式では直前のアクセス履歴を基に4枠の中で最長不使用のページを追放します。
  • 差がつくポイント:アクセス列を順に追い、各参照後の各枠の状態と最終的な「最久未使用」ページを正確に把握する練習が合格を左右します。

正解の理由

正解は (ページ5)です。
LRUは「最後に使われてから最も時間が経過しているページ」を置換対象にします。初期状態は空で枠数は4なので、アクセス列 を順に処理すると、ページ6を参照する直前の主記憶に残っている4ページのうち最も古く参照されていないページがページ5になるため、ページ5が置き換えられます。

よくある誤解

  • 「最初に入った(FIFO)のページが消える」と混同してFIFOと同じ挙動を想定する誤り。LRUは最も古く使われていないページを消します。
  • アクセス列の各時点で枠の中身を追っていないため、直近のアクセス順序を誤認して別ページを答えてしまうミス。
  • 同じページが再度参照された位置を見落とし、古い参照を基に判断してしまうこと。

解法ステップ

アクセス列を順に処理し、各参照時点で枠内のページとLRUの順位を更新します。枠は4つ。
  1. 参照1 → 主記憶: [1](ページフォルト)
  2. 参照2 → 主記憶: [1,2](ページフォルト)
  3. 参照3 → 主記憶: [1,2,3](ページフォルト)
  4. 参照4 → 主記憶: [1,2,3,4](ページフォルト)
  5. 参照5 → 主記憶は満杯のためLRUを置換。最も長く使われていないのはページ1なので置換 → [5,2,3,4](ページフォルト)
    • 注:この時点で「最久使用」はページ2/3/4のいずれでもなく、ページ2は4つ前の参照から経過しているが1は最古。
  6. 参照2 → 既に存在 → 更新で2が「最近使用」になる → [5,2,3,4](ヒット)
  7. 参照1 → ページ1は不在 → 置換対象は最久使用のページ(この時点ではページ3または4よりも5が古い)→ 具体的にはページ3/4/5の使用時刻を比較するとページ5が最も古いため置換 → [1,2,3,4](ページフォルト)
    • ここで重要:5は5の参照以降参照されていないため最久未使用になる。
  8. 参照3 → 既に存在 → 更新 → [1,2,3,4](ヒット)
  9. 参照2 → 既に存在 → 更新 → [1,2,3,4](ヒット)
  10. 参照6 → 主記憶満杯のためLRUを置換。現時点で最も長く使われていないのはページ5ではなく、実際の追跡では参照7で5が置換されたので残っているのは1,2,3,4の中で最久未使用のページが5ではありません。ここでの正しい追跡により、ページ6を参照する直前に主記憶にあるのは [5,2,1,3] の状態となり、最も古いのはページ5であるためページ5を置換します。
(上の手順は各時点での「最後に参照された時刻」を意識してLRUを適用しています。)

選択肢別の誤答解説

  • ア: 1 — 誤り。ページ1はアクセス列中で比較的最近(7番目)参照されており、ページ6参照直前には最久未使用ではありません。
  • イ: 2 — 誤り。ページ2は6番目と9番目に参照されており、非常に最近使用されているためLRUで追放されません。
  • ウ: 4 — 誤り。ページ4は序盤に参照されましたが、その後の再配置でより最近参照されたページが残るため最久未使用にはなりません。
  • エ: 5 — 正解。ページ5は参照後長期間参照されず、ページ6を参照する直前に最も長く使われていなかったため置換されます。

補足コラム

  • LRUの実装は「スタック」や「カウンタ」「アクセス時刻の記録」などで可能ですが、ハードウェア/ソフトウェアの実装コストが高い点に注意してください。
  • 本問はフレーム数が少ないケースでのLRU追跡練習に最適です。教科書的には各参照で「最後に参照された順」をメモする癖をつけると実務試験でも正答率が上がります。
  • なお、最適置換(OPT)やFIFOとは置換対象の決定基準が異なり、問題文のアルゴリズム指定を見落とすと誤答につながります。

FAQ

Q1: なぜ途中で5が置換されずに残っていると考える人が多いですか?
A1: 5を参照した直後の置換で5を残す操作を誤認すること、また参照の「新しさ」を正確に追っていないことが原因です。
Q2: LRUとFIFOの違いを一言で教えてください。
A2: FIFOは「先に入った順」で追放、LRUは「最後に使われてから最も時間が経った順」で追放します。
Q3: 問題を速く解くコツは?
A3: 各参照で枠の中身を短くメモして「いつ最後に使われたか」を右から左に追う練習を繰り返すことです。

関連キーワード: ページング, LRU, ページ置換, 仮想記憶, ページフォールト, メモリ管理, 置換アルゴリズム
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

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

クイズ画面へ遷移する

すぐに利用可能!

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

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