テクノロジ系ソフトウェア

デッドロックとは?

読み方: でっどろっく
1行定義

複数のプロセスが互いに相手のリソース解放を待ち合い、どちらも進めなくなった膠着状態

詳細解説

デッドロック(Deadlock)とは、複数のプロセスが互いに相手の保有するリソース(ファイル・メモリ・ロックなど)の解放を永遠に待ち合い、どのプロセスも処理を進められなくなる膠着状態です。例えば、プロセスAがリソースXを確保したままリソースYの解放を待ち、プロセスBがリソースYを確保したままリソースXの解放を待つと、どちらも永遠に解放されずデッドロックが発生します。デッドロック発生には「相互排他」「占有と待機」「横取り不可」「循環待機」の4条件がすべて成立する必要があり、いずれか1条件を排除することで防止できます。デッドロックの対処法には、予防(発生条件を排除する設計)・回避(銀行家アルゴリズム等で安全な資源割り当てを保証)・検出と回復(デッドロック発生後にプロセスを強制終了して解消)があります。

ITパスポートでの出題ポイント

  • 1デッドロック発生の4条件(相互排他・占有と待機・横取り不可・循環待機)
  • 2デッドロックの予防・回避・検出と回復の違い
  • 3具体的な発生シナリオの理解

関連用語

タスク管理
ソフトウェア
排他制御
ソフトウェア
セマフォ
ソフトウェア
カーネル
ソフトウェア
ロールバック
データベース

デッドロック」の過去問を解いて理解を定着

合格ナビでは IPA 公式 600問 + AI解説 で「○○とは?」をその場で深掘りできます。

シラバス 6.5 準拠 / 最終更新: 2026-05-26