死鎖的避免
死鎖的預防與避免策略
方法 | 說明 | 優點 | 缺點 |
---|---|---|---|
預防死鎖 | 靜態策略,透過事先對進程的資源申請限制,以減少死鎖發生的可能性。 | 簡單直觀,確保從一開始就避免死鎖的發生。 | 彈性差,可能導致資源利用率降低,甚至產生資源浪費。 |
避免死鎖 | 動態策略,允許進程動態申請資源,但在分配前進行安全性檢查,防止系統進入不安全狀態。 | 靈活,動態分配資源,能夠避免死鎖。 | 資源申請分析計算複雜,系統開銷較大,難以精確掌握每個行程所需的最大資源數。 |
死鎖避免的策略與方法
策略 | 方法 | 工作原理 |
---|---|---|
銀行家演算法 | 死鎖避免演算法,用於判斷系統在分配資源後是否仍處於安全狀態。 | 系統在每次分配資源前,檢查是否有足夠的資源滿足當前請求;如果分配該資源後,系統仍然安全,則允許分配,否則拒絕請求。 |
資源請求時的安全性檢查 | 動態分配資源時進行檢查,確保不進入不安全狀態。 | 系統檢查進程的資源請求是否會導致死鎖,如果安全性則允許請求,否則拒絕。 |