作業系統 死鎖和死鎖處理策略

2021-10-17 11:05:52 字數 842 閱讀 7384

本文在作業系統的角度梳理下死鎖和作業系統的死鎖處理策略。

在併發環境下,各程序因競爭資源而造成的一種互相等待對方手裡的資源,導致各程序都阻塞,都無法向前推進的現象。

發生死鎖後,若無外力干涉,則這些程序都無法向前推進。

互斥條件 && 不剝奪條件 && 請求和保持條件 && 迴圈等待條件;

對不可剝奪資源的不合理分配,可能導致死鎖。

把只能互斥使用的資源改造成允許共享使用(比如spooling技術),則系統不會進入死鎖狀態。

缺點:並不是所有的資源都可以改造成共享使用的資源,並且為了系統安全,很多地方還必須保護這種互斥性。

銀行家演算法。

死鎖檢測演算法:用於檢測系統狀態,以確定系統中是否發生了死鎖;

死鎖接觸演算法:當認定系統中已經發生了死鎖,利用該演算法可將系統從死鎖狀態中解脫出來;

一旦檢測出死鎖,就應該立即解除。

如何決定對哪個程序動手呢:

程序優先順序;

程序已經執行了多長時間;

程序還有多久能完成;

程序已經使用了多少資源;

程序是互動式的還是批處理式的;

作業系統死鎖

作業系統死鎖,在作業系統課程當中屬於比較關注的乙個知識點,在這裡做個簡單的梳理。死鎖的四個必要條件 作業系統中有若干程序併發執行,它們不斷申請 使用 釋放系統資源,雖然系統的進 程協調 通訊機構會對它們進行控制,但也可能出現若干程序都相互等待對方釋放資源才能 繼續執行,否則就阻塞的情況。此時,若不借...

作業系統 死鎖

多執行緒以及多程序改善了系統資源的利用率並提高了系統 的處理能力。然而,併發執行也帶來了新的問題 死鎖。死鎖是指多個程序在執行過程中因爭奪資源而造成的一種僵局,當前程序處於這種狀態時,若無外力作用,它們都將無法再向前推進。關於死鎖的一些結論 競爭資源 當系統中供多個程序共享的資源如印表機 公用佇列等...

作業系統 死鎖

把需要排他性使用的物件稱為資源。資源可以是硬體也可以是軟體,比如印表機或者資料庫中的乙個加鎖記錄。資源可以分為兩類 可搶占資源和不可搶占資源。搶占這個詞,在程序和執行緒排程時就提到了這個概念,那時是程序或者執行緒可以搶占cpu,即搶占式排程。儲存器也可以搶占,如記憶體換頁。一般來說,可搶占資源不會引...