高度試験午前I暗記無料で始める

デッドロックとは?でっどろっく

デッドロックとは、複数のタスクが互いに相手の占有する資源の解放を待ち合い、いずれも先へ進めなくなる状態。相互排除・保持と待ち・横取り不可・循環待ちの4条件がそろったときに発生し、どれか1つを崩せば発生しない。データベースではロックの獲得順序が逆になった組合せで起きる。

最終更新:2026-10-07

試験情報

高度試験・午前I(全区分共通)の過去問では4回出題されています(2017年度〜2024年度)。

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)

別名:デッドロック(OSレベル)、OSレベル

この語が出る過去問を解く →

背景

排他制御は、同時更新によるデータの矛盾を防ぐために資源を独占させる仕組みだが、その独占が別のタスクの待ちを生む。守るために止める、という構造が本質的に組み込まれているため、待ちが輪になった瞬間に誰も進めなくなる。予防・回避・検出と回復のどれを採るかは費用と応答性の判断で、DBMSは通常、検出して片方をロールバックする方式をとる。

具体例

口座Aから口座Bへ送る振替と、口座Bから口座Aへ送る振替が同時に走ると、それぞれが送り元の行をロックしたまま相手の行を待ち、輪が閉じて双方が止まる。口座番号の小さい側から必ずロックする、と全処理で決めておけば輪は成立しようがなく、この形の停止は起こらない。

試験での引っ掛け

資源を要求する順序が逆になっているタスクの組合せを探すのが定石で、同じ順序で要求するタスク同士ではデッドロックは起きない。ロックの粒度を細かくすると同時実行性は上がるが、獲得するロックの数が増えて発生の機会はむしろ増える点も取り違えやすい。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では4回出題(2017年度〜2024年度)
  • 分野:午前I(全区分共通)
  • 資源を要求する順序が逆になっているタスクの組合せを探すのが定石で、同じ順序で要求するタスク同士ではデッドロックは起きない。