處理死鎖的策略


1.死鎖無知

死鎖無知是所有機制中使用最廣泛的方法。 許多作業系統主要為終端使用者使用。 在這種方法中,作業系統假定永遠不會發生死鎖。 它只是無視死鎖。 這種方法最適合使用者使用系統僅用於瀏覽和所有其他常規內容的單個終端使用者系統。

正確性和效能之間總是有一個折衷。 Windows和Linux等作業系統主要關注效能。 但是,如果死鎖發生的次數是100次,那麼系統的效能就會一直下降,如果它始終使用死鎖處理機制,那麼完全沒有必要始終使用死鎖處理機制。

在這些型別的系統中,使用者不得不在死鎖情況下重新啟動計算機。 Windows和Linux主要使用這種方法。

2.死鎖預防

只有當相互排斥,持有和等待,沒有搶先和迴圈等待同時成立時,才會發生死鎖。 如果有可能在任何時候違反四個條件之一,那麼在系統中永遠不會發生死鎖。

這種方法背後的想法非常簡單,我們必須在四種情況之一中失敗,但在系統中的物理實現方面可能會有一個大的爭論。

我們稍後會詳細討論它。

3.避免死鎖

在避免死鎖時,作業系統會在作業系統執行的每一步中檢查系統是處於安全狀態還是處於不安全狀態。 該過程一直持續到系統處於安全狀態。 一旦系統進入不安全狀態,作業系統必須回溯一步。

簡而言之,作業系統審查每個分配,以便分配不會導致系統中的死鎖。

稍後我們將詳細討論避免死鎖。

4.死鎖檢測和恢復

這種方法讓進程陷入死鎖,然後定期檢查系統中是否發生死鎖。 如果它發生,那麼它會將一些恢復方法應用到系統中以消除死鎖。

我們稍後將更詳細地討論死鎖檢測和恢復,因為這是一個討論問題。