情報処理安全確保支援士試験 情報処理安全確保支援士試験 平成29年度春期 午前Ⅰ8: トランザクション A と B が,共通の資源であるテーブル a と b を表に示すように更新するとき,デッドロックとなるのはどの時点か。ここで,表中の ① ~

情報処理安全確保支援士試験 平成29年度春期 午前Ⅰ
Q 88 / 30
A と B が,共通の資源であるテーブル a と b を表に示すように更新するとき,デッドロックとなるのはどの時点か。ここで,表中の ① ~ ⑧ は処理の実行順序を示す。また,ロックはテーブルの更新直前にテーブル単位で行い,アンロックはトランザクション終了時に行うものとする。
トランザクション Aトランザクション B
↓ 時間① トランザクション開始
② トランザクション開始
③ テーブル a 更新
④ テーブル b 更新
⑤ テーブル b 更新
⑥ テーブル a 更新
⑦ トランザクション終了
⑧ トランザクション終了

問題本文

トランザクション A と B が,共通の資源であるテーブル a と b を表に示すように更新するとき,デッドロックとなるのはどの時点か。ここで,表中の ① ~ ⑧ は処理の実行順序を示す。また,ロックはテーブルの更新直前にテーブル単位で行い,アンロックはトランザクション終了時に行うものとする。

選択肢

  • .
  • .
  • .
  • .

正解

.

解説

③でAがテーブルaをロック、④でBがbをロック。⑤でAがbを要求するがBが保持中で待機、⑥でBがaを要求するがAが保持中で待機し、互いに相手の解放を待つ循環待ちが完成する。デッドロック成立は⑥でエが正解。資源獲得順序を統一すれば循環待ちを断て、デッドロックを予防できる。

選択肢ごとの解説

  • .③はAがaをロックするだけで競合は生じず、デッドロックではない。
  • .④はBがbをロックする時点で、まだ待機状態は発生していないため誤り。
  • .⑤はAがbを待ち始めるが、Bはまだaを要求しておらず循環は未完成で誤り。
  • .⑥でBがaを待ち、AもbをBに待たされ相互待機(循環待ち)が成立する正解。

情報処理安全確保支援士試験 平成29年度春期 午前Ⅰ過去問一覧へ戻る・問8