デッドロック
複数
の
プロセス
それぞれが、複数の
リソース
の中から
排他的
に1つ以上のリソースを
使用する
ような
システム
を
想定する
。
2つ以上のプロセスが、
個々のプロセスの
完了
に
必要なリソース
を、
互いに
排他的に
保持
してしまうことによって、
それぞれのプロセスが、
永久に
互いの リソースの
解放待ち
の状態に陥り、
事実上
、システムが
停止状態
になること
を指す。
マルチプログラミング環境であるプロセスが複数の資源を要求
→資源がすべて同時には使用可能でない
→待ち状態となる
→状態を変えることなく永久に待ち状態となる
待っている資源が他の待ち状態のプロセスに割りついているときに発生しうる
決して起こらない特定の事象を待っている
→デッドロック(deadlock)・死の抱擁(deadly embrace)
deadlock
デッド
(
dead
) +
ロック
(
lock
)
排他制御
(
exclusive control
)
行き詰まり
危険領域
、
クリティカルセクション
(
critical section
)、
クリティカルリージョン
(
critical region
)
セマフォ
(
semaphore
)
マルチスレッド
(
Multithread
)
スレッド
(
thread
)
食事する哲学者の問題
、
ダイニングフィロソフィア問題
(
dining philosophers problem
)
ダチョウアルゴリズム
(
ostrich algorithm
)
SPINモデルチェッカ
形式手法
によりシステムがデッドロックに陥らないことを検証できるモデル検査ツール
デッドロック - Wikipedia
Deadlock - Wikipedia