DBデータベーススペシャリスト試験 午前Ⅰ

平成29年度春期 データベーススペシャリスト 午前Ⅰ 問6

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

4ブロックのキャッシュメモリC0~C3が表に示す状態である。ここで,新たに別のブロックの内容をキャッシュメモリにロードする必要が生じたとき,C2のブロックを置換の対象とするアルゴリズムはどれか。
キャッシュメモリC0~C3のロード時刻,最終参照時刻及び参照回数を示す表。
キャッシュメモリC0~C3のロード時刻,最終参照時刻及び参照回数を示す表。

選択肢

  1. ア
    FIFO
  2. イ
    LFU
  3. ウ
    LIFO
  4. エ
    LRU
解き方のヒントを見る

判断に用いる情報の範囲をそろえる

キャッシュメモリに関する検討では、判断に用いる情報の範囲を意識しましょう。示された条件と、自分の知識から補った前提を区別し、扱う情報の範囲が途中で変わっていないかを確かめることが学習の手掛かりになります。

この問題で問われていること

この分野を学ぶ際は、どこまでの情報を根拠に判断しているかに注目してください。考えを整理する途中で、明示されていない事情を付け加えていないかを振り返り、与えられた条件の範囲に立ち戻って検討しましょう。

視点

判断の根拠は、提示された情報と、理解のために自分で置いた前提とに分けて整理できます。両者を混ぜずに扱うと、どの条件に基づいて考えているかを確認しやすくなります。

確認ポイント

  • 根拠にした情報の範囲を把握しているか
  • 自分で補った前提を区別しているか
  • 検討の途中で情報の範囲を広げていないか
正解と解説を見る

正解

エ

解説

正解はエのLRUです。LRUは、最後の参照から最も長く使われていないブロックを置換します。最終参照時刻が最も古いのは0:05のC2なので、設問の条件に一致します。

理由

LRU(Least Recently Used)は、最後に参照されてから最も長く使われていないブロックを置換します。表の最終参照時刻は、C0が0分08秒、C1が0分06秒、C2が0分05秒、C3が0分10秒です。最も古い時刻はC2の0分05秒なので、C2が置換対象になります。

比較

FIFOはロード時刻が最も早いC0(0分00秒)、LFUは参照回数が最も少ないC1(1回)、LIFOはロード時刻が最も遅いC3(0分05秒)を置換対象とします。LRUが比較するのは最終参照時刻です。表に示された一時点の状態だけで、それぞれの置換対象を判断できます。

選択肢ア

これは不正解だよ。FIFOは、キャッシュに最も早くロードされたブロックを置換する方式です。表のロード時刻はC0が0:00、C1が0:03、C2が0:04、C3が0:05なので、置換対象はC0です。C2を選ぶ条件には合いません。

選択肢イ

これは不正解だよ。LFUは、参照回数が最も少ないブロックを置換する方式です。表ではC0が10回、C1が1回、C2が3回、C3が5回です。最少の1回であるC1が置換対象になるため、C2を対象とする設問の条件に合いません。

選択肢ウ

これは不正解だよ。LIFOは、キャッシュに最も遅くロードされたブロックを置換する方式です。表のロード時刻で最も遅いのはC3の0:05です。C2のロード時刻は0:04なので、この方式の置換対象にはなりません。

選択肢エ(正解)

これは正解だよ。LRUは、最後に参照されてから最も長く使われていないブロックを置換する方式です。表の最終参照時刻はC0が0:08、C1が0:06、C2が0:05、C3が0:10です。最も古い0:05のC2が置換対象になります。

学習のポイント

置換方式が判断に使う情報を、ロード時刻・最終参照時刻・参照回数に対応付けて理解しましょう。

出典:独立行政法人 情報処理推進機構(IPA)平成29年度春期 データベーススペシャリスト試験 午前Ⅰ 問6(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針