作業系統死鎖產生的必要條件是什麼
作業系統中死鎖產生是需要條件的,這幾個條件缺一不可,換句話說,我們要接觸死鎖,只需要把任一條件打破即可。下面由小編為大家整理了作業系統的死鎖產生的必要條件相關知識,希望對大家有幫助!
一、作業系統死鎖產生的必要條件
產生死鎖的四個必要條件
-----互斥條件:一個資源每次只能被一個程序***執行緒***使用。
-----不可剝奪條件:一個程序***執行緒***對已獲得的資源在未使用完畢之前,不能被其他程序強行剝奪,而只能又該程序自願釋放。
-----請求保持條件條件: 程序***執行緒***每次申請它所需要的一部分資源,在申請新資源的同時繼續佔用已分配的資源。
-----循壞等待條件: 多個程序***執行緒***之間形成一種頭尾相接的迴圈等待資源關係,即前一個程序佔有後一個程序所請求的資源。
注:這四個條件是死鎖的必要條件,只要系統發生死鎖,這些條件必然成立,而只要上述條件之 一不滿足,就不會發生死鎖。
二、作業系統死鎖解決方法
***1*** 使用協議以預防或避免死鎖,確保系統不會進入死鎖狀態;
***2*** 系統可進入死鎖狀態,但可檢測死鎖狀態,然後進行恢復;
***3*** 忽視該問題,而認為死鎖不可能在系統內發生。 ——即應用程式開發人員來處理死鎖問題
作業系統為什麼會出現死鎖