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