IPA過去問ドリル

平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問10

テクノロジ/ソフトウェア

ページング方式の仮想記憶において,ページ置換えアルゴリズムに LRU 方式を採用した場合,ページの参照順序が 1,2,3,2,3,1,4,2,4,3,1 であるプログラムを実行するとき,ページの読込みは何回発生するか。ここで,主記憶のページ枠は 3 で,初期状態では主記憶にどのページも存在しないものとする。

出典:平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問10

正解:エ

解説

ページ枠 3 で LRU 方式を用い,参照順序 1,2,3,2,3,1,4,2,4,3,1 を追跡すると次のようになります。最初の 1,2,3 の参照でページ枠が埋まるまでに 3 回のページ読込み(ミス)が発生します(主記憶={1,2,3})。続く 2,3 は既に主記憶にあるためヒットです。次の 1 もヒットしますが,このとき最も長く参照されていない(最も古い)ページは 2 になります。次に 4 を参照すると主記憶にないため 4 回目のミスが発生し,最も古い 2 が追い出されます(主記憶={3,1,4})。次の 2 は主記憶にないため 5 回目のミスとなり,最も古い 3 が追い出されます(主記憶={1,4,2})。次の 4 はヒットです。次の 3 は主記憶にないため 6 回目のミスとなり,最も古い 1 が追い出されます(主記憶={4,2,3})。最後の 1 も主記憶にないため 7 回目のミスとなります。以上より,ページの読込みは合計 7 回発生します。

選択肢ごとの解説

  • 誤り。4 回は,最初にページ枠を埋めるまでの読込みだけを数えた値であり,その後の 4,2,3,1 の参照によって発生する追加の読込みを数え落としています。
  • 誤り。5 回は,途中経過の読込み回数を数えた値であり,最後まで LRU の置換え対象を正しく追跡した場合の合計回数(7 回)とは一致しません。
  • 誤り。6 回は,最後の 1 の参照が主記憶にヒットすると誤って判断した場合などに生じ得る値であり,正しく追跡すると最後の 1 もミスとなるため 7 回が正しい値です。
  • 正しい。参照順序を順に追跡すると,1,2,3(初期読込み),4,2,3,1 の参照時にページ読込みが発生し,合計 7 回のページ読込みが発生します。
エンベデッドシステムスペシャリストの過去問を演習モードで解く