令和6年度 春期 システムアーキテクト試験 午前Ⅱ 問24
テクノロジデータベース
この問題は2024(R6)春 システムアーキテクト 午前IIに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
DBMSにおいて,デッドロックを検出するために使われるデータ構造はどれか。
解答・解説を読む
正解: 選択肢エ
DBMSにおける デッドロック とは、複数のトランザクションが互いに相手のロックしている資源の解放を待ち合い、処理が進まなくなる状態のことです。
DBMSにおいて、デッドロックを検出するために使われるデータ構造が 待ちグラフ です。
待ちグラフは、トランザクションをノード、資源の待ち状態を有向エッジとして表現したもので、グラフに 閉路 が存在するかどうかを調べることでデッドロックを検出します。
したがって、正解は「エ」です。
各選択肢の解説
- ア 資源割当表
各資源がどのトランザクションに割り当てられているかを管理する表です。資源の利用状況を把握するためのものであり、トランザクション間の循環的な待ち状態(デッドロック)を検出する目的のデータ構造ではありません。 - イ 時刻印順管理表
タイムスタンプ・オーダリング方式による排他制御において、トランザクションの開始時刻を管理するための表です。この方式ではデッドロックは発生しないため、検出のためのデータ構造ではありません。 - ウ トランザクションの優先順管理表
トランザクションの優先順位を管理する表です。優先順位を用いてデッドロックを未然に防止(回避)する手法はありますが、発生したデッドロックを検出するためのデータ構造ではありません。 - エ 待ちグラフ
正解です。トランザクション間の資源の待ち関係をグラフで表し、閉路を探索することでデッドロックを検出します。