戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

ITサービスマネージャ 2014年 午前2 問21


問題文

トランザクションA〜Dに関する待ちグラフのうち、デッドロックが発生しているものはどれか。ここで、待ちグラフの矢印は、のとき、トランザクションXはトランザクションYがロックしている資源のアンロックを待っていることを表す。
ITサービスマネージャ 2014年 午前2 問21の選択肢の画像

選択肢

ア:
イ:(正解)
ウ:
エ:

🔒 解説は解答すると表示されます

待ちグラフとデッドロック【午前2解説】

正解の理由

待ちグラフでは、矢印 は「トランザクションXが、Yのロック解除を待っている」ことを表します。
イには、 という閉じた経路、すなわち有向サイクルがあります。これは、BがAを待ち、AがCを待ち、CがBを待っている状態です。互いに相手の処理完了を待っているため、どのトランザクションも先に進めず、デッドロックが発生しています。

解法ステップ

  1. 各矢印の向きを確認します。矢印の始点が待っている側、終点が待たれている側です。
  2. ある頂点から矢印をたどり、出発点に戻る経路があるかを調べます。
  3. 閉じた経路があればデッドロックが発生しています。イでは、 のサイクルを確認できます。

選択肢別の誤答解説

  • ア:、、、 です。矢印をたどって出発点に戻る経路はなく、サイクルはありません。
  • イ: のサイクルがあります。したがって、デッドロックが発生しています。 や の矢印が加わっていても、サイクルの存在は変わりません。
  • ウ:矢印はAからB、C、Dへ向かっていますが、各頂点からAへ戻る矢印はありません。サイクルはありません。
  • エ:A、B、DからCへ矢印が向かっていますが、Cから他の頂点へ戻る矢印はありません。サイクルはありません。

よくある誤解

  • 矢印が多ければデッドロックだと思う
    矢印の数ではなく、矢印をたどって出発点に戻るサイクルがあるかで判断します。
  • 矢印の向きを逆に読む
    は、XがYを待っている状態です。YがXを待っているわけではありません。
  • 行き止まりがあればデッドロックだと思う
    行き止まりだけではデッドロックとは限りません。待ち関係が循環しているかを確認します。

補足コラム

待ちグラフは、トランザクション間の待ち関係を有向グラフで表したものです。基本的な問題では、グラフに有向サイクルがあればデッドロックと判断します。サイクルを見つけたら、矢印の向きに沿って一周できることを確かめると、見落としを防げます。

FAQ

Q. サイクルに含まれないDがある場合でも、デッドロックですか?
A. はい。デッドロックを判定するのは、待ちグラフ内にサイクルが存在するかどうかです。サイクルに含まれないトランザクションがあっても、サイクルがあればデッドロックが発生しています。
Q. 矢印が一方向に並んでいるだけでは、デッドロックになりませんか?
A. 一方向に並ぶだけでは、出発点へ戻るサイクルがありません。そのため、デッドロックとは判断できません。

関連キーワード: 待ちグラフ、デッドロック、有向グラフ、有向サイクル、トランザクション、ロック
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITサービスマネージャを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について