応用情報技術者試験ナビ ロゴ 応用情報技術者試験ナビ
本日は試験日

応用情報技術者試験 令和5年春 午前問17 解説付き過去問

問題

仮想記憶システムにおいて、ページ置換えアルゴリズムとしてFIFOを採用して、仮想ページ参照列1、4、2、4、1、3を3ページ枠の実記憶に割り当てて処理を行った。 表の割当てステップ"3"までは、仮想ページ参照列中の最初の1、4、2をそれぞれ実記憶に割り当てた直後の実記憶ページの状態を示している。 残りをすべて参照した直後の実記憶の状態を示す太枠部分に該当するものはどれか。

正解

解説

この問題は、ページ置換えアルゴリズムとして FIFO(First In First Out)方式を用いたときの実記憶の状態変化を正しく追えるかを問うものです。FIFOは、先に実記憶にロードされたページから順に置換えるアルゴリズムです。

  1. 初期状態(ステップ1〜3)
    仮想ページ参照列:1, 4, 2, 4, 1, 3
    3ページ枠を使うため、最初の3ステップで仮想ページ 1、4、2 を順にページインします。
    この時点での実記憶の状態は以下の通りです。
  2. 上から順に
    1段目:1
    2段目:4
    3段目:2

  3. ステップ4(ページ4)
    ページ4はすでに実記憶に存在しているため、ページフォールトは発生しません。
    実記憶の状態に変化はありません。

  4. ステップ5(ページ1)
    ページ1も実記憶に存在しているため、ページフォールトは発生しません。
    この時点でも状態は変化しません。

  5. ステップ6(ページ3)
    ページ3は実記憶に存在していないため、ページフォールトが発生します。
    FIFO方式では、最も早くページインされたページが置換え対象になります。
    この場合、最初にロードされたページは「1」なので、これを「3」と置き換えます。
    結果、以下のような状態になります。
  6. 上から順に
    1段目:3
    2段目:4
    3段目:2

したがって、仮想ページ参照列をFIFO方式で処理した結果、最終的な実記憶の状態は「3・4・2」となります。