作業系統死鎖原理是什麼怎麼解決
作業系統中發生死鎖容易導致程序堵塞甚至電腦出現宕機情況,那麼有沒有什麼預防和解決方法呢。下面由小編為大家整理了作業系統的死鎖的危害相關知識,希望對大家有幫助!
一、作業系統死鎖的概念
在多個程式同時執行的情況下,多個程序可能出現競爭一定數量的資源。若某個程序申請資源,且此時資源不可用,那麼該進行將進入等待狀態。如果所申請的資源被其他等待程序佔有,那麼該等待程序有可能永遠處於等待狀態而無法改變該狀態。——這種情況即為死鎖。
二、作業系統死鎖的危害
當出現死鎖時,程序永遠不能完成,並且阻礙使用系統資源,阻止了其他作業開始執行,導致系統的資源利用率急劇下載,下面列舉出一些比較直接的影響。
***1***死鎖會使程序得不到正確的結果。因為處於死鎖狀態的程序得不到所需的資源,不能向前推進,故得不到結果。
***2***死鎖會使資源的利用率降低。因為處於死鎖狀態的程序不釋放已佔有的資源,以至於這些資源不能被其他程序利用,故系統資源利用率降低。
***3***死鎖還會導致產生新的死鎖。其它程序因請求不到死鎖程序已佔用的資源而無法向前推進,所以也會發生死鎖。
所以程序出現了死鎖,有可能產生多米諾骨牌效應,最終會導致作業系統崩潰。
三、作業系統死鎖解決方法
***1*** 使用協議以預防或避免死鎖,確保系統不會進入死鎖狀態;
***2*** 系統可進入死鎖狀態,但可檢測死鎖狀態,然後進行恢復;
***3*** 忽視該問題,而認為死鎖不可能在系統內發生。 ——即應用程式開發人員來處理死鎖問題
作業系統銀行家演算法原理與實現