応用情報暗記無料で始める

デッドロック(OSレベル)とは?でっどろっく

デッドロック(OSレベル)とは、複数のプロセスが互いに相手の確保している資源の解放を待ち続け、どれも先へ進めなくなった状態。相互排除、保持と待機、横取り不可(非割込み)、循環待ちの4条件がすべて同時に成り立つときに発生する。裏返せば、どれか1つを崩す設計にすれば発生を防げる。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では7回出題されています(2016年度〜2025年度)。

応用情報技術者試験の頻出用語/テクノロジ系

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

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

背景

複数のプロセスが同じ資源を壊さずに使うには排他制御が要り、排他制御をする以上、待ちは避けられない。そこへ複数の資源を順に確保する処理が同時に走ると、確保する順番次第で待ちの関係が環になる。対処は、設計時に確保順序を決めて環を作らせない予防、割当ての前に安全かを判定する回避(銀行家アルゴリズム)、起きてから検出して片方を巻き戻す検出と回復の3系統で、どれを採るかを選ばせる形で問われる。

具体例

同じ2行を逆の順番で更新する処理が同時に走ると、データベースの行ロックが環になって双方が止まる。多くのDBMSはこれを検出し、片方のトランザクションを自動でロールバックしてエラーを返す仕組みを持っており、アプリケーション側は更新する行の順序を統一するか、エラーを受けて再試行する作りにして避ける。

試験での引っ掛け

4条件は「すべて揃ったとき」に発生するので、対策は1つ崩せば足りる(資源の要求順序を統一すれば循環待ちが崩れる)。「4条件のいずれか1つで発生する」は誤りである。また、優先度の低いプロセスにいつまでも順番が回らないスタベーションは、待ち合う相手がいなくても起こる別の現象で、混同しやすい。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では7回出題(2016年度〜2025年度)
  • 分野:テクノロジ系
  • 4条件は「すべて揃ったとき」に発生するので、対策は1つ崩せば足りる(資源の要求順序を統一すれば循環待ちが崩れる)。