




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)中的死鎖問題摘要:死鎖是指多個(gè)進(jìn)程因?yàn)楦偁庂Y源而造成的一種僵局,是計(jì)算機(jī)中經(jīng)常出現(xiàn)的現(xiàn)象,至今還沒有很好的解決方法。死鎖產(chǎn)生的條件有4個(gè):互斥條件、請求與保持條件、不剝奪條件以及循環(huán)等待條件。死鎖是計(jì)算機(jī)故障中常見的問題之一,想要最優(yōu)化使用計(jì)算機(jī)操作系統(tǒng),首要任務(wù)就是解決死鎖問題。當(dāng)然,就這種計(jì)算機(jī)操作系統(tǒng)中的死鎖問題而言,其絕不是憑空產(chǎn)生的,相反的,其有著自身的一系列必要條件,而這些必要條件和產(chǎn)生原因?qū)嶋H上又可以為相應(yīng)應(yīng)對措施的采取指明突破口。本文主要圍繞著計(jì)算機(jī)操作系統(tǒng)中的死鎖問題這一中心主題,從死鎖問題的具體內(nèi)涵出發(fā),通過對其產(chǎn)生原因、必要條件的論述和揭示,最后給出可行的死鎖解決策略。關(guān)鍵詞:計(jì)算機(jī)操作系統(tǒng);死鎖問題;原因;對策0引言隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)類型復(fù)雜多樣,進(jìn)程、資源種類也各不相同。計(jì)算機(jī)操作系統(tǒng)是管理計(jì)算機(jī)各種軟硬件資源的軟件系統(tǒng),其中死鎖問題是操作系統(tǒng)必須處理的一種資源分配問題。所謂的死鎖就是不通狀態(tài),而當(dāng)其具體到計(jì)算機(jī)操作系統(tǒng)之中時(shí),則表示在一把包括多個(gè)進(jìn)程在內(nèi)的進(jìn)程集合體中,每個(gè)進(jìn)程都在等待相應(yīng)事件的促發(fā),而這些事件卻又在等待另一類進(jìn)程的完成,因此,這樣一來進(jìn)程之間一直處于一種等待的狀態(tài)之中,無法得到順利地執(zhí)行。計(jì)算機(jī)中的死鎖會(huì)影響整個(gè)操作系統(tǒng)的進(jìn)程。每個(gè)進(jìn)程都需要相應(yīng)要求指導(dǎo),而這些要求指導(dǎo)又需要不同類別進(jìn)程來提供,死鎖會(huì)耽誤計(jì)算機(jī)進(jìn)程的順利進(jìn)行。這種狀態(tài)造成計(jì)算機(jī)資源的浪費(fèi),需要的資源利用不上,不需要的資源無法釋放,對操作系統(tǒng)來說有著不利的影響。由此可見,我們應(yīng)研究計(jì)算機(jī)操作系統(tǒng)中的死鎖問題,科學(xué)采用合理的解決方案。我們知道,操作系統(tǒng)是一臺(tái)計(jì)算機(jī)的靈魂,沒有操作系統(tǒng)計(jì)算機(jī)只能是一副空殼,什么功能也無法實(shí)現(xiàn)。然而,也正是在這種操作系統(tǒng)重要性的要求之下,人們已經(jīng)對其越來越為依賴了。當(dāng)然,這種依賴性如果碰到計(jì)算機(jī)運(yùn)行不暢或者死機(jī)的情況,用戶則會(huì)變得異常煩躁,而這種死機(jī)以及卡殼現(xiàn)象的發(fā)生實(shí)際上在很大層面上都是死鎖問題導(dǎo)致的。我們都可以清晰認(rèn)識(shí)到的是,就一個(gè)計(jì)算機(jī)系統(tǒng)而言,其所具有的系統(tǒng)資源是相對有限的,而這種資源在多數(shù)情況下又表現(xiàn)出一種獨(dú)占性的特點(diǎn),即許多資源無論在什么時(shí)刻都只能供一個(gè)進(jìn)程使用,而這一個(gè)進(jìn)程所占用的系統(tǒng)資源又是多方面的。雖然如今的計(jì)算機(jī)操作系統(tǒng)大部分采用的都是并發(fā)處理以及資源共享,但是其在中央處理器上的執(zhí)行時(shí)間是不確定的,這樣就必然導(dǎo)致進(jìn)程在具體執(zhí)行的之后呈現(xiàn)出一定的不確定性。另外,這些進(jìn)程實(shí)際上又存在著一種競爭的關(guān)系,而這樣一來就必然導(dǎo)進(jìn)程發(fā)生死鎖的現(xiàn)象。事實(shí)上,就計(jì)算機(jī)操作系統(tǒng)的死鎖問題而演變,其實(shí)際上就是指一個(gè)不通的狀態(tài),而當(dāng)期具體到計(jì)算機(jī)操作系統(tǒng)之中時(shí),其則表示在一把包括多個(gè)進(jìn)程在內(nèi)的進(jìn)程集合體中,每個(gè)進(jìn)程都在等待相應(yīng)的促發(fā),而這些事件卻又在等待另一類進(jìn)程的完成,因此,這樣一來進(jìn)程之間一直處于一種等待的狀態(tài)之中,無法得到順利地執(zhí)行。當(dāng)然,這種不同的狀態(tài)也就必然導(dǎo)致了資源空間的極大浪費(fèi),不需要占用的資源無法放出,需要的資源又無法得到利用。因此,我們可以發(fā)現(xiàn),單個(gè)進(jìn)程是不會(huì)發(fā)生死鎖問題的,只有兩個(gè)或者兩個(gè)以上的進(jìn)程出現(xiàn)時(shí),死鎖才能夠產(chǎn)生。1死鎖概述1.1死鎖概念計(jì)算機(jī)操作系統(tǒng)是管理計(jì)算機(jī)各種軟硬件資源的軟件系統(tǒng),其中死鎖問題是操作系統(tǒng)必須處理的一種資源分配問題。通常而言計(jì)算機(jī)操作系統(tǒng)死鎖指的是,由于可分配資源的有限性或者彼此進(jìn)程通信而引起的一種在多個(gè)進(jìn)程之間產(chǎn)生的阻塞現(xiàn)象。計(jì)算機(jī)操作系統(tǒng)如果不對其進(jìn)行強(qiáng)制性的資源回收或者資源重新分配,這種阻塞現(xiàn)象將一直存在下去,影響操作系統(tǒng)進(jìn)行正常的資源管理。由此可見,計(jì)算機(jī)操作系統(tǒng)中的死鎖問題必須發(fā)生多個(gè)進(jìn)程之間,在單進(jìn)程系統(tǒng)中必然不會(huì)產(chǎn)生死鎖問題。死鎖,顧名思義是一把沒有鑰匙的鎖,指計(jì)算機(jī)系統(tǒng)、進(jìn)程陷入一種死循環(huán)的狀態(tài),常常定義為在系統(tǒng)進(jìn)程集合中的每個(gè)進(jìn)程都在請求并等待其他進(jìn)程所占有的資源,導(dǎo)致所有進(jìn)程都處于等待狀態(tài)不能運(yùn)行,形成死循環(huán)。在該狀態(tài)中,沒有終止條件能使陷入死循環(huán)的進(jìn)程得以解脫,從而也不能解開環(huán)路使其他進(jìn)程得以釋放。由此引發(fā)了所有進(jìn)程都陷入想得到資源卻又都得不到資源的局面。例如:想要把磁盤中的文件打印出來,進(jìn)程會(huì)同時(shí)訪問打印機(jī)和磁盤驅(qū)動(dòng)器,并且阻止其它進(jìn)程訪問他們。當(dāng)系統(tǒng)中只有一個(gè)進(jìn)程時(shí),此進(jìn)程可任意要求它所需的資源進(jìn)行工作;當(dāng)系統(tǒng)中有多個(gè)進(jìn)程時(shí),這些進(jìn)程共同利用系統(tǒng)資源,提高系統(tǒng)處理能力,但也有可能發(fā)生死鎖現(xiàn)象。簡言之,死鎖問題,就是一種資源等待與資源釋放之間產(chǎn)生的矛盾,由于存在系統(tǒng)資源的持續(xù)占用必然引起資源空間嚴(yán)重浪費(fèi),常見的用戶等待以及死機(jī)現(xiàn)象都可能是由于死鎖問題導(dǎo)致的,因此處理好死鎖問題無論從計(jì)算操作系統(tǒng)資源有序合理分配方面還是良好用戶體驗(yàn)方面都是必須解決重要問題。下文則具體從死鎖必要條件、產(chǎn)生原因以及死鎖解決措施等方面進(jìn)行探討。1.2死鎖的必要條件互斥一個(gè)資源只能被一個(gè)進(jìn)程應(yīng)用。又稱獨(dú)占條件。有些資源只能同時(shí)被一個(gè)進(jìn)程所占用,而其他進(jìn)程不能訪問這些已被占用了的資源。不可剝奪只有占有這個(gè)資源的進(jìn)程可以釋放它,其它進(jìn)程不可剝奪。循環(huán)等待死鎖發(fā)生時(shí),系統(tǒng)中存在著一條由至少2個(gè)進(jìn)程組成的環(huán)路,在這條環(huán)路中的每一個(gè)進(jìn)程都在等待后一個(gè)進(jìn)程所占資源的釋放,因此導(dǎo)致環(huán)路堵塞,使進(jìn)程不能再繼續(xù)運(yùn)行。請求和保持保持原占用資源,再請求新資源。也稱部分分配條件,當(dāng)進(jìn)程等待其他資源時(shí),仍然繼續(xù)占有已經(jīng)得到的資源。這4個(gè)條件是死鎖的必要條件,只要系統(tǒng)發(fā)生死鎖,這些條件必然成立,而只要上述條件之一不滿足,就不會(huì)發(fā)生死鎖。1.3死鎖產(chǎn)生的原因計(jì)算機(jī)操作系統(tǒng)死鎖問題的形成機(jī)制事實(shí)上,就計(jì)算機(jī)操作系統(tǒng)的死鎖問題而言,其雖然是如今給人類操作系統(tǒng)以及各個(gè)操作系統(tǒng)版本在實(shí)際的使用過程中經(jīng)常出現(xiàn)的一類問題,并對用戶的實(shí)際運(yùn)用造成了一定的影響,而這種影響是不能憑空產(chǎn)生的,因?yàn)檫@種操作系統(tǒng)死鎖問題有著一定的的形成機(jī)制。一般來說,造成計(jì)算機(jī)操作系統(tǒng)死鎖的原因主要包括如下兩個(gè)方面:資源有限,引發(fā)資源競爭系統(tǒng)資源有限,而進(jìn)程運(yùn)行又要求占用足夠多的資源。當(dāng)進(jìn)程所需資源被另一進(jìn)程所占,另一進(jìn)程所需資源被其他進(jìn)程所占,循環(huán)往復(fù),這就導(dǎo)致了所有進(jìn)程都處于一個(gè)不能繼續(xù)執(zhí)行的狀態(tài),此時(shí)系統(tǒng)處于死鎖狀態(tài)。并發(fā)進(jìn)程的執(zhí)行次序非法是進(jìn)程在進(jìn)行順序的安排上是非法的,這樣一種非法的順序也就必然導(dǎo)致計(jì)算操作系統(tǒng)出現(xiàn)混亂以及卡殼的現(xiàn)象。一般來說,計(jì)算機(jī)操作系統(tǒng)中的資源可以大致分為可剝奪性資源以及不可剝奪性資源,而就前者而言,當(dāng)某一進(jìn)程向系統(tǒng)請求要占用這一資源時(shí),其完全可以為代替原先占用的那個(gè)進(jìn)程,但是這種進(jìn)程實(shí)際上又需要依賴相應(yīng)的進(jìn)程優(yōu)先實(shí)現(xiàn)。即優(yōu)先級(jí)高的可以剝奪優(yōu)先級(jí)低的,反之則不成立。而包括打印機(jī)以及磁帶機(jī)在內(nèi)的后者則不可能實(shí)現(xiàn)這一剝奪行為,而且也正是這種不可剝奪性,使得其死鎖發(fā)生的概率大大增加。當(dāng)然,包括信號(hào)量使用不當(dāng)以及程序設(shè)計(jì)不合理等在內(nèi)的因素也會(huì)直接導(dǎo)致計(jì)算機(jī)操作系統(tǒng)死鎖問題的發(fā)生。例如,進(jìn)程與進(jìn)程之間都在互相等待雙方傳來的消息,而這種消息如果使用不當(dāng)則會(huì)使得相關(guān)進(jìn)程不能順利地向前推進(jìn),從而陷入一種死鎖狀態(tài)。不過,死鎖若要產(chǎn)生,其就必須就要符合多個(gè)條件,即每一個(gè)資源只能被一個(gè)進(jìn)程使用、進(jìn)程在取得資源后不能強(qiáng)行剝奪以及兩個(gè)或兩個(gè)以上進(jìn)程之間形成一種循環(huán)式的等待資源關(guān)系。2處理死鎖的辦法當(dāng)然,當(dāng)我們意識(shí)到計(jì)算機(jī)操作系統(tǒng)中死鎖問題重要性之時(shí),我們總不能聽之任之,讓其一直持續(xù)下去,相反的,我們總會(huì)在充分發(fā)現(xiàn)其具體內(nèi)涵及形成機(jī)制之后,對其發(fā)生的構(gòu)成要素進(jìn)行破壞和抑制,干擾其具體形成過程,才能真正意義上將這種死鎖問題的發(fā)生概率以及發(fā)生率及其所造成的影響控制在最小范圍之內(nèi)。筆者在總結(jié)自身工作經(jīng)驗(yàn)的過程中發(fā)現(xiàn),常用的處理死鎖的辦法主要包括死鎖的預(yù)防、死鎖的避免、死鎖的檢測、死鎖的復(fù)原。2.1死鎖的預(yù)防想要預(yù)先防止死鎖發(fā)生,可以從產(chǎn)生死鎖的必要條件入手。(1)摒棄互斥條件。首先使用虛擬設(shè)備技術(shù),破壞了死鎖形成的必要條件中的互斥條件。該技術(shù)可將一臺(tái)獨(dú)占設(shè)備虛擬成多臺(tái)邏輯設(shè)備,能夠提供給多個(gè)進(jìn)程來使用,提高了系統(tǒng)資源利用效率。虛擬設(shè)備技術(shù)就用共享設(shè)備的空間模擬了獨(dú)占設(shè)備的功能,將獨(dú)占改為共享。(2)預(yù)分配所有共享資源。進(jìn)程運(yùn)行時(shí)所需的所有資源一次性申請,并且在所需資源未得到滿足之前,不運(yùn)行該進(jìn)程,一直等到所需資源均空閑時(shí),再運(yùn)行該進(jìn)程。其存在以下不足:進(jìn)程可能會(huì)等待很長的時(shí)間,才能滿足所請求的資源,但實(shí)際上,有的進(jìn)程僅需要部分資源就可以繼續(xù)執(zhí)行下去。其次,被分配的資源可能等候較長時(shí)間都不會(huì)被進(jìn)程使用,也不能為其他進(jìn)程所運(yùn)行使用,因此就造成了資源浪費(fèi)。以下有兩種方法:1)一個(gè)進(jìn)程在占用其它資源,還要繼續(xù)申請資源被拒絕時(shí),那么該進(jìn)程就必須釋放原本所占用的資源,以后需要資源可以再次申請。簡單來講就是,已占用資源的進(jìn)程在運(yùn)行時(shí),會(huì)將原本占用的資源釋放,也就是說權(quán)利被剝奪,因此破壞了不可剝奪的條件。2)一個(gè)進(jìn)程正在申請的資源被其它進(jìn)程占用時(shí),可以利用操作系統(tǒng)去搶占資源,這種方法要建立在不同優(yōu)先級(jí)別的兩個(gè)進(jìn)程上,如果兩個(gè)進(jìn)程的優(yōu)先級(jí)別相同,就不能防止死鎖。優(yōu)點(diǎn):方便保留狀態(tài)和恢復(fù)資源。缺點(diǎn):恢復(fù)代價(jià)較高,實(shí)現(xiàn)起來比較困難,容易導(dǎo)致循環(huán)的重啟和不必要的搶占。(3)破壞保持和請求條件一個(gè)進(jìn)程在申請利用某個(gè)資源時(shí),便不能在占用其它的資源,這是一種靜態(tài)分配的方法。在進(jìn)程工作之前,讓它一次性的申請出所有需要應(yīng)用的資源,如果系統(tǒng)資源充足,就可以把進(jìn)程所需的所有資源分配給它,所以在進(jìn)程工作中就不會(huì)在提出應(yīng)用資源的申請,這樣就破壞了請求等待條件。如果系統(tǒng)資源分配過程中,有一種資源無法滿足進(jìn)程的需求,那么就不分配給它任何資源,讓它一直等待,以此破壞保持條件,避免死鎖現(xiàn)象的發(fā)生。(4)預(yù)防形成環(huán)路??梢圆捎冒葱?qū)Y源進(jìn)行分配,給資源分級(jí)編號(hào)。這就要求所有進(jìn)程在申請資源時(shí),必須按遞增順序來申請,并且相同級(jí)別資源要一次申請完,這就阻止了環(huán)路的產(chǎn)生,從而避免了死鎖的產(chǎn)生。這種預(yù)防方法是低效的,因?yàn)樗鼤?huì)使進(jìn)程的執(zhí)行速度變慢,增加了進(jìn)程占用資源的時(shí)間,并且給系統(tǒng)資源進(jìn)行分級(jí)編號(hào)也是很困難的。2.2死鎖避免死鎖避免也稱動(dòng)態(tài)監(jiān)測。該方法與死鎖預(yù)防差別較小,死鎖預(yù)防約束申請資源請求,從而破壞4個(gè)必要條件中的一個(gè),但這同時(shí)使資源利用率和進(jìn)程執(zhí)行率大大降低。而死鎖避免則相反,在分配資源的過程中,系統(tǒng)對于申請資源的命令提前進(jìn)行檢測,依據(jù)所進(jìn)行的檢查結(jié)果選擇是否分配其資源。它允許互斥、請求和保持,不可剝奪3個(gè)條件,但卻保證永遠(yuǎn)不會(huì)到達(dá)死鎖點(diǎn),能夠執(zhí)行多個(gè)并發(fā)程序。指在資源的動(dòng)態(tài)分配過程中,通過合理的調(diào)節(jié)各并發(fā)進(jìn)程的資源分配和推進(jìn)順序,防止系統(tǒng)進(jìn)入不安全狀態(tài),從而避免死鎖的發(fā)生。目前,在較多系統(tǒng)中采用此方法來避免死鎖的發(fā)生。該方法存在的問題是需要預(yù)先安排進(jìn)程的推進(jìn)順序。銀行家算法(Banker’sAlgorithm)是一個(gè)避免死鎖(Deadlock)的著名算法,是由艾茲格·迪杰斯特拉在1965年為T.H.E系統(tǒng)設(shè)計(jì)的一種避免死鎖產(chǎn)生的算法。它以銀行借貸系統(tǒng)的分配策略為基礎(chǔ),判斷并保證系統(tǒng)的安全運(yùn)行。
在銀行中,客戶申請貸款的數(shù)量是有限的,每個(gè)客戶在第一次申請貸款時(shí)要聲明完成該項(xiàng)目所需的最大資金量,在滿足所有貸款要求時(shí),客戶應(yīng)及時(shí)歸還。銀行家在客戶申請的貸款數(shù)量不超過自己擁有的最大值時(shí),都應(yīng)盡量滿足客戶的需要。在這樣的描述中,銀行家就好比操作系統(tǒng),資金就是資源,客戶就相當(dāng)于要申請資源的進(jìn)程。
銀行家算法是一種最有代表性的避免死鎖的算法。在避免死鎖方法中允許進(jìn)程動(dòng)態(tài)地申請資源,但系統(tǒng)在進(jìn)行資源分配之前,應(yīng)先計(jì)算此次分配資源的安全性,若分配不會(huì)導(dǎo)致系統(tǒng)進(jìn)入不安全狀態(tài),則分配,否則等待。為實(shí)現(xiàn)銀行家算法,系統(tǒng)必須設(shè)置若干數(shù)據(jù)結(jié)構(gòu)。2.3死鎖檢測預(yù)防和避免死鎖要求代價(jià)太高,為提高資源的利用率,我們一般不阻止死鎖的產(chǎn)生。而是采用系統(tǒng)定時(shí)檢測的方式,當(dāng)檢測到發(fā)生死鎖時(shí),再采取某種措施來解除死鎖。不采用任何限制性措施,運(yùn)行系統(tǒng)發(fā)生死鎖。死鎖發(fā)生后,通過系統(tǒng)設(shè)置的檢測機(jī)構(gòu),及時(shí)的檢測出死鎖的發(fā)生,精確的確定與死鎖相關(guān)的進(jìn)程和資源情況。(1)檢測死鎖的時(shí)機(jī):進(jìn)程發(fā)生等待時(shí)檢測、定時(shí)進(jìn)行檢測、系統(tǒng)資源利用率下降時(shí)檢測。(2)利用資源分配圖檢測:借助資源分配圖,如果發(fā)現(xiàn)其中不存在環(huán)路,則未出現(xiàn)死鎖,如果存在環(huán)路,則有可能出現(xiàn)死鎖(存在不確定性)(3)死鎖定理:當(dāng)某個(gè)狀態(tài)的資源分配圖不能再繼續(xù)化簡時(shí),該狀態(tài)為死鎖。資源分配圖簡化原則是進(jìn)程申請的資源如果空閑,則可將請求邊改為分配邊,并將資源分配給該進(jìn)程。當(dāng)進(jìn)程僅有分配邊沒有申請邊時(shí),可看作該進(jìn)程在規(guī)定時(shí)間內(nèi)完成并釋放所占用的資源,可將指向該進(jìn)程結(jié)點(diǎn)的邊抹去,從而簡化過程。2.4死鎖復(fù)原一旦檢測出死鎖就要采取一些措施來使系統(tǒng)重新恢復(fù)運(yùn)行:(1)強(qiáng)制搶占,臨時(shí)將資源從它當(dāng)前所有者中人工干預(yù)轉(zhuǎn)移到需要該資源的另一進(jìn)程,使另一進(jìn)程可以運(yùn)行。當(dāng)另一進(jìn)程完成時(shí),原進(jìn)程可再申請可用資源繼續(xù)完成工作,由此解決死鎖問題。該方法的可行度不強(qiáng),實(shí)行起來較為困難,選擇搶奪某個(gè)進(jìn)程的資源時(shí),很大程度上要考慮該進(jìn)程所擁有的資源是否容易回收。(2)死鎖進(jìn)程回退,使其回到還未產(chǎn)生死鎖的時(shí)候。借助檢查點(diǎn),當(dāng)系統(tǒng)死鎖時(shí),檢測所需資源,從較早的檢查點(diǎn)開始,使其回到還未產(chǎn)生死鎖的狀態(tài),并使該進(jìn)程獲得所需資源。其中檢查點(diǎn)包括資源狀態(tài)和存儲(chǔ)映像,即那些資源分配給了那個(gè)進(jìn)程,不過該方法可能使系統(tǒng)再次進(jìn)入死鎖。(3)終止所有進(jìn)程??梢韵冉K止死鎖環(huán)路中的一個(gè)進(jìn)程,如果死鎖還未解除,繼續(xù)撤銷其他的進(jìn)程,直至進(jìn)程全部撤銷或者死鎖恢復(fù)至系統(tǒng)正常運(yùn)行。也可選擇對環(huán)路外的進(jìn)程進(jìn)行撤銷,使其釋放所占有的資源。不過該方法要求所撤銷的進(jìn)程中正好擁有環(huán)路中堵塞進(jìn)程所需要的資源,且最好撤銷的是不會(huì)有其他影響的進(jìn)程。死鎖檢測與恢復(fù)與死鎖預(yù)防相比,具有積極主動(dòng)的一面。死鎖預(yù)防是通過一定的限制約束策略,來防止造成死鎖產(chǎn)生的四個(gè)沖要條件中的任一個(gè)的出現(xiàn)來實(shí)現(xiàn)避免死鎖的。而死鎖的檢測是:只要有可能,就向申請資源的進(jìn)程進(jìn)行分配資源。操作系統(tǒng)會(huì)周期性的去檢測是否存在“環(huán)鏈等待”的出現(xiàn)。如果發(fā)現(xiàn)存在“環(huán)鏈等待”,即出現(xiàn)了死鎖,則會(huì)采取一定的措施來消除死鎖。常用的實(shí)施方法是撤消或掛起一些進(jìn)程,以便回收一些資源,再將這些資源分配給已處于阻塞狀態(tài)的進(jìn)程,使之轉(zhuǎn)為就緒狀態(tài)以繼續(xù)運(yùn)行。需要特別說明的是:死鎖檢測與恢復(fù)并不能防止死鎖的發(fā)生,它只是確定系統(tǒng)中是否存在死鎖,然后再予以恢復(fù)。3總結(jié)總之,死鎖是一種人們不希望發(fā)生的,它對計(jì)算機(jī)系統(tǒng)正常運(yùn)行有較大的損害,但它又是一種隨機(jī)的、不可避免的現(xiàn)象。對死鎖問題人們進(jìn)行了大量的研究工作,但至今還沒有一種令人滿意的、完善的解決方法,現(xiàn)有的各種解決方法都是以不同程度在犧牲系統(tǒng)效率為代價(jià)的。死鎖問題是任何操作系統(tǒng)中都存在的潛在問題,資源死鎖也并不是唯一的死鎖??紤]到系統(tǒng)復(fù)雜多樣和效率代價(jià)問題,很難只靠死鎖的預(yù)防和避免去解決它,大多還是要依靠死鎖的恢復(fù)和檢測,不過,這些都要靠增加計(jì)算機(jī)工作效率來實(shí)現(xiàn)。因此,在未來還需要我們繼續(xù)對死鎖問題進(jìn)行深入研究,爭取早日攻克這一大難題。參考文獻(xiàn)楊珊.哲學(xué)家就餐問題的實(shí)驗(yàn)課程思路拓展[J].實(shí)驗(yàn)科學(xué)與技術(shù),2018,16(02):191-194.黃正鵬.計(jì)算機(jī)操作系統(tǒng)中死鎖問題研究[J].電腦知識(shí)與技術(shù),2016,12(20):34-35.周南鳳.探究計(jì)算機(jī)操作系統(tǒng)中死鎖問題[J].信息與電腦(理論版),2015(13):69-70.張偉杰.計(jì)算機(jī)操作系統(tǒng)中死鎖問題研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,17(18):81+83.鮑治國,李笑雪.《操作系統(tǒng)原理》課程教學(xué)研究[J].科技信息,2014(07):118.CoffmanEG,ElphickM,ShoshaniA.Systemdeadlocks[J].ACMComputingSurveys(CSUR),1971,3(2):67-78.HoltRC.Commentsonpreventionofsystemdeadlocks[J].Communica
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 門診護(hù)理查對制度
- 汽修店年度分析報(bào)告范文
- 浙江國企招聘2024浙江省有色金屬地質(zhì)勘查院招聘7人筆試參考題庫附帶答案詳解
- 二零二五年度房產(chǎn)分割及父母子女贍養(yǎng)義務(wù)協(xié)議書
- 美容院合伙人二零二五年度市場拓展合作協(xié)議
- 二零二五年度養(yǎng)殖場養(yǎng)殖技術(shù)研發(fā)用工合同
- 二零二五年度二零二五年度時(shí)尚潮流門面房租賃合同
- 二零二五年度旅游客運(yùn)合同承運(yùn)人服務(wù)質(zhì)量及賠償責(zé)任承諾
- 二零二五年度形婚伴侶婚姻生活共同興趣愛好培養(yǎng)合同
- 二零二五年度農(nóng)田租賃合同范本(含農(nóng)業(yè)生態(tài)保護(hù))
- 腦血管造影病人的護(hù)理-課件
- 阿里巴巴管理精髓管理者必修的24招
- 醫(yī)務(wù)科輪轉(zhuǎn)人員規(guī)定
- 統(tǒng)編版一年級(jí)語文下冊 口語交際 聽故事講故事 小貓種魚 一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 普通地質(zhì)學(xué)教材
- 《工業(yè)控制網(wǎng)絡(luò)及組態(tài)技術(shù)》教案
- 多重耐藥菌相關(guān)知識(shí)
- 2021年云南省中考地理試卷(附答案詳解)
- 物業(yè)管理工作流程圖全套2
- 防蠅防鼠防蟲害情況記錄表
- 廣東省五年一貫制語文試卷
評(píng)論
0/150
提交評(píng)論