HOME»情報処理安全確保支援士掲示板»デッドロックの見分け方について
投稿する

デッドロックの見分け方について [1593]

 八王子さんさん(No.1) 
(1)
https://www.sc-siken.com/s/kakomon/26_aki/am2_21.html
(2)
www.ap-siken[.]com/s/kakomon/02_aki/q17.html

(1)の問題が発端です。
概要は理解しており、何となくの消去で正解しましたが、どうデッドロックを起こすのかは説明出来ず解説を読んでもピンときません。
(2)に至っては一切分かりません。

抽象的な質問で申し訳ないのですが、デッドロックを見分ける方法や解き方などがあればご教授いただきたいです。
2024.06.16 08:12
GinSanaさん(No.2) 
SC ブロンズマイスター
X→Yのとき、トランザクションXはトランザクションYがロックしている資源のアンロックを待っている

と書いてあるので、たとえばイのCはBに向けて矢印が引いてあるので、Bのアンロックを待っている。マラソンで前がつっかえてて足踏みをしているようなもんだと思えばいいです。

そんな調子で見ると、イはABCでアンロック待ちのサイクルになっているので、デッドロックになっている。

応用のやつは、表中の数字の順に資源を占有し、とあるので、
プロセスA、B、C、Dを縦に並べて、
横軸に1、2、3を引いて、1のときに誰が何の資源を掴んだのか?を考えていくとわかるが、基本原理として占有順序が異なるやつは起こる可能性があると覚えとけば、Bは除外されて残りはその可能性があるからCとDだ、と言える。
2024.06.16 11:35
 八王子さんさん(No.3) 
う〜んなるほど……
とりあえずループしているものと、順番がバラバラに資源をロックするトランザクションはデッドロックの可能性があるとだけ覚えればいいですかね……
ありがとうございます。
2024.06.16 20:53
せるろーすさん(No.4) 
この投稿は投稿者により削除されました。(2024.06.17 21:42)
2024.06.17 21:42
せるろーすさん(No.5) 
Aさん「Cさんや、ちょっとこのデータ欲しいんやけど。」
Cさん「ちょいまちー、今Bさんの返答待ちでロックされとるんや。ほいでBさん、わしが欲しいって言ったデータいつくれるの?」
Bさん「ちょいまちー、今Aさんの返答待ちでロックされとるんや。ほいでAさん、わしが欲しいって言ったデータいつくれるの?」
Aさん「ちょいまちー、今Cさんの返答待ちでロックされとるんや。ほいでCさん、わしが欲しいって言ったデータいつくれるの?」
Cさん「ちょいまちー、...」

多分こんな感じ
2024.06.17 21:42
橙色文書さん(No.6) 
「覚える」とアレンジされた問題には対応できません。
もしご存知でなければ、共有ロックと排他ロックを「理解する」べきと思います。
主にDBアクセスで考慮される技術ですが、ファイル操作でも動作を確認できます。
2024.06.18 20:28
返信投稿用フォーム

お名前

顔アイコン


本文(コミュニティガイドライン⇱を順守して適切な投稿を心がけましょう)

投稿削除用のパスワード(20文字以内)

投稿プレビュー
※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため、当サイトとIPAサイト以外のURLを含む文章の投稿は禁止されています。

投稿記事削除用フォーム

投稿No. パスワード 
© 2014-2024 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop