テクノロジ系24 / 25問
システムアーキテクト試験 令和6年度 春期 午前II 問24
DBMSにおいて、デッドロックを検出するために使われるデータ構造はどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】エ
待ちグラフは、トランザクションを頂点、資源の解放待ちという関係を有向辺で表すデータ構造です。例えば、T1がT2の保持する資源を待っている場合は、T1からT2への辺を引きます。さらにT2がT1の保持する資源を待っていれば、T1→T2→T1という閉じた経路ができます。このような循環が見つかれば、互いに相手の解放を待ち続けるデッドロックだと検出できます。したがってエが正解です。
アの資源割当表は誤りです。これは、どの資源がどの処理に割り当てられているかなど、資源の使用状況を表形式で管理するものです。待ち関係の循環を直接検出するための構造ではありません。
イの時刻印順管理表は誤りです。これはトランザクションに付けた時刻印の順序に従って読書きを制御するためのものです。競合時に処理を中止、再実行させるなど、デッドロックを予防しやすい制御に用いられます。
ウの優先順管理表は誤りです。これは処理順序の決定や、競合時にどのトランザクションを優先するかを管理するものです。待ち関係の循環そのものを検出する構造ではありません。
【ポイント】 待ちグラフでは「頂点がトランザクション、辺が待ち関係」です。 グラフ内の循環を発見することが、デッドロック検出の基本です。 検出後は、いずれかのトランザクションを中止してロックを解放させます。
出典:令和6年度 春期 システムアーキテクト試験 午前II 問24
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる