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