跳轉至

死鎖的避免

死鎖的預防與避免策略

方法 說明 優點 缺點
預防死鎖 靜態策略,透過事先對進程的資源申請限制,以減少死鎖發生的可能性。 簡單直觀,確保從一開始就避免死鎖的發生。 彈性差,可能導致資源利用率降低,甚至產生資源浪費。
避免死鎖 動態策略,允許進程動態申請資源,但在分配前進行安全性檢查,防止系統進入不安全狀態。 靈活,動態分配資源,能夠避免死鎖。 資源申請分析計算複雜,系統開銷較大,難以精確掌握每個行程所需的最大資源數。

死鎖避免的策略與方法

策略 方法 工作原理
銀行家演算法 死鎖避免演算法,用於判斷系統在分配資源後是否仍處於安全狀態。 系統在每次分配資源前,檢查是否有足夠的資源滿足當前請求;如果分配該資源後,系統仍然安全,則允許分配,否則拒絕請求。
資源請求時的安全性檢查 動態分配資源時進行檢查,確保不進入不安全狀態。 系統檢查進程的資源請求是否會導致死鎖,如果安全性則允許請求,否則拒絕。