操作系統(tǒng)-modern os6ttt資源可搶占o(jì)r不可_第1頁(yè)
操作系統(tǒng)-modern os6ttt資源可搶占o(jì)r不可_第2頁(yè)
操作系統(tǒng)-modern os6ttt資源可搶占o(jì)r不可_第3頁(yè)
操作系統(tǒng)-modern os6ttt資源可搶占o(jì)r不可_第4頁(yè)
操作系統(tǒng)-modern os6ttt資源可搶占o(jì)r不可_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第3資源:可搶占資or不可搶占資死鎖必要條件(NecessaryConditionsfor死鎖預(yù)防(Deadlock死鎖避免(Deadlock死鎖檢測(cè)(Deadlock死鎖解除(Deadlock

Li資資進(jìn)程運(yùn)行可能會(huì)需要各種資資源可分可重用資源:如CPU、內(nèi)存、磁盤(pán)、I/O設(shè)備、件等申請(qǐng) 使用 釋消耗程產(chǎn)需要;如消息、中斷等。創(chuàng)建 獲取 使消耗性資源被使用后就不復(fù)存在,所以不需要

Li資資源可分為可搶占資源:如CPU、內(nèi)不可搶占資源:如磁帶機(jī) 、掃描儀資源也可以分獨(dú)享資源: 、磁帶機(jī)可同 資源:如磁

LisemaphoresemaphoremutexA,mutexB=1,1ProcessP();{P(mutexA);usebothresource;V(mutexA);}Process{usebothresource;V(mutexA);}

Li但死鎖還是可能發(fā)生但死鎖還是可能發(fā)生semaphoresemaphoremutexA,mutexB=1,1ProcessP();{P(mutexA);usebothresouV(mutexA);}Process{P(mutexB);usebothresource;V(mutexB);}

Li死鎖控制機(jī)Mechanismfor

Li何為如果一個(gè)進(jìn)程在等待一 不會(huì)發(fā)生的事件,那么我們這個(gè)進(jìn)程進(jìn)入了死鎖狀態(tài)通常的情形是一個(gè)以上的進(jìn)程陷入死鎖狀A(yù)processisindefini ypostponedifitisdelayedrepeatedlyoveralongperiodoftimewhiletheattentionofthesystemisgiventootherprocesses.I.e.,logicallytheprocessmayproceedbutthesystemnevergivesittheCPU.

Li死鎖的必要條互斥條件(Mutual進(jìn)程對(duì)臨界資源 必須是互斥請(qǐng)求保持(占有等待)條件(Wait-for已經(jīng)得到某些資源的進(jìn)程繼續(xù)請(qǐng)求新的資不可搶占 )條件(Nopreemption已經(jīng)分配給一個(gè)進(jìn)程的資源不能強(qiáng)制性被搶占(),它只能環(huán)路等待條件(Circularwait死鎖發(fā)生時(shí),系統(tǒng)中一定有由兩個(gè)或者兩個(gè)以上的進(jìn)程組成的一條環(huán)路,該環(huán)路中的每個(gè)進(jìn)程都在等待下一個(gè)進(jìn)程所占有的資源。

Li資源分配(ResourceAllocation

Li資源分配(ResourceAllocation競(jìng)競(jìng)爭(zhēng)非搶占性資源引起的死

Li資源分配(ResourceAllocation競(jìng)爭(zhēng)競(jìng)爭(zhēng)同一類資源產(chǎn)生的死

Li資源分配(ResourceAllocation進(jìn)程間進(jìn)程間通信時(shí)的死鎖

Li死鎖預(yù)設(shè)置某些資源使用限制條件,通過(guò)破壞死鎖產(chǎn)生的四個(gè)必件之一來(lái)預(yù)防死鎖避在資源動(dòng)態(tài)分配過(guò)程中,用某種方法來(lái)防止系統(tǒng)進(jìn)入不安態(tài)死鎖檢允許系統(tǒng)出現(xiàn)死鎖,但能檢測(cè)死鎖的發(fā)生,也能確定與死關(guān)的進(jìn)程和資死鎖恢在檢測(cè)到死鎖發(fā)生后,可通過(guò)撤銷或掛起相關(guān)進(jìn)程的方法,釋放相應(yīng)的資源,使系統(tǒng)回到非死鎖狀態(tài)

Li鴕鳥(niǎo)算(TheOstrich發(fā)生死鎖時(shí),系統(tǒng)不做任何事情,通過(guò)簡(jiǎn)單重啟系統(tǒng)來(lái)解決死鎖問(wèn)題。(就像一只鴕鳥(niǎo)鴕,碰到時(shí),)在個(gè)人計(jì)算機(jī)中基本上都采用鴕鳥(niǎo)算法,其合理性有以下幾點(diǎn):死鎖預(yù)防、死鎖避免、死鎖檢測(cè)/解除算法都有較大的系統(tǒng)在個(gè)人計(jì)算機(jī)由于資源的競(jìng)爭(zhēng)相對(duì)不是很激烈,所以發(fā)生死鎖的概率較小,而且發(fā)生死鎖時(shí)的影響較小(只會(huì)影響當(dāng)前一個(gè)用戶),所以沒(méi)有必要采用上述的死鎖解決方案。

Li死鎖預(yù)通過(guò)破壞死鎖四個(gè)必要條件之一來(lái)實(shí)破壞互斥條利用虛擬技術(shù)將臨界資源虛擬成可同時(shí)的資源。如采用Spooling技術(shù)可以將虛擬成可同時(shí)打印多個(gè)進(jìn)程數(shù)破壞請(qǐng)求保持條采用靜態(tài)預(yù)分配方案。規(guī)定一個(gè)進(jìn)程只有得到全部資源才能運(yùn)行,這樣在運(yùn)行過(guò)程中就不會(huì)有新的資源請(qǐng)求了。破壞不可搶占條如果一個(gè)持有若干資源的進(jìn)程申請(qǐng)新的資源,在申請(qǐng)不滿足需要等待時(shí),必須釋放當(dāng)前所持有的所有資破壞環(huán)路等待條所有的資源進(jìn) ,進(jìn)程 順序申請(qǐng)所需要的資源 Li總結(jié)死鎖

如何破等待新資源時(shí),釋放當(dāng)前所

Li死鎖避銀行家算法(Banker每個(gè)顧客需告訴銀行其最 需求顧客分若干 直至其最大需顧客最后還貸給銀銀行不是有款就貸 確定 后系統(tǒng)仍處于安全態(tài),才可以顧客 請(qǐng)求安全狀態(tài)(SafeState)-在所有顧客同時(shí)提出其最大 順序,按此順序進(jìn)行不安全狀態(tài)(UnsafeState)-找不到上述的

Li安全狀即使各個(gè)進(jìn)程同時(shí)提出各自的最大資源需求申請(qǐng),系統(tǒng)也存在著一個(gè)資源分配序列(也叫安全序列),按照此序列逐個(gè)為每個(gè)進(jìn)程分配資源到其最大需求,各進(jìn)程都能順利推進(jìn)直至完成,最后釋放它們占有的資源,則我們稱此時(shí)系統(tǒng)處于安全狀態(tài)。如果系統(tǒng)處于安全狀態(tài),則一定不會(huì)出現(xiàn)死鎖不安全狀態(tài):找不到上述的安全序不是死鎖狀態(tài),也不一定會(huì)引起死鎖,但有可能演化為死鎖狀態(tài)。銀行家算法的實(shí)質(zhì)是在資源動(dòng)態(tài)分配中,避免系統(tǒng)進(jìn)入不安全狀態(tài)。

Li 4422227P1申請(qǐng)1個(gè)資5312227能找到一個(gè)安全序列(P2,P1,所以T0時(shí)刻找不T1時(shí)刻系當(dāng)系統(tǒng)進(jìn)入不安全狀態(tài)時(shí),就有可能出現(xiàn)死鎖,死

Li銀行銀行家算法中的數(shù)據(jù)可用資源向最大需求矩已分配資源矩需求資源矩 orNeedi=Maxi-資源請(qǐng)求矩工作向量完成布爾向

Li銀行313112132 12 24 333Need2=[2134Al2=[1234Av=[2342Re1=[1101

Li銀行算法描述Rei<=Needi 出錯(cuò)處Rei<=Av? Av=Av–ReiAli=Ali+ReiNeedi=NeediReiPi等待資or真正得到資源

Li銀行安全性測(cè)試(Safetytest令Work=AvFinishFF找到一個(gè)Pi,滿足Finish(i)=F;andFinish(i)=T,Work=Work+如果有一個(gè)Pj,使得Finish(j)=F,這就意味著在當(dāng)前資源分配狀態(tài)下,我們不能找到一個(gè)安全序列,

Li①T1銀行家算法①T1 07 22001223026002110110024313253274373105120117436043在T1時(shí)刻存在一個(gè)安全序列(P2,P4,P1,P3,P5),系統(tǒng)前處

Li銀行家算法②T2時(shí)刻資源請(qǐng)求:Re2=[102,進(jìn)程P2可以獲得資源嗎Re2(102)<=Need2(12Re2(102)<=Av(33試探性分配:Av=Av–Re2=[230 Al2=Al2+Re2=[302Need2=Need2Re2020(當(dāng)前資源分配情況如下圖所示執(zhí)行安全性測(cè)試,我們可以找到一個(gè)安全(P2,P4,P5,P1,P3)以分配給P2所需資源后,系統(tǒng)仍處于安分配給P2所需資源(實(shí)際 07 230302020302600211011002431010743332200122302600211011002431

Li銀行家算法③T3③T3時(shí)刻資源請(qǐng)求:Re5=[源嗎Re5(330)<=Need5(4330],進(jìn)程P5不能滿足:Re5330Av(23當(dāng)前的可用資源不能滿足P5的資源請(qǐng)求,所以P5必須等 010743230302020302600211011002431

Li銀行家算法④T4時(shí)刻的資源請(qǐng)求:Re1=020,進(jìn)程P1可以獲得資源Re1(020)<=Need1(74Re1(020)<=Av(23Av=Av–Re1=[210 Al1=Al1+Re1=[030Need1=Need1Re1=[723(當(dāng)前資源分配情況如下圖所示進(jìn)程P1的資源請(qǐng)求不能滿足,P11100100332002212706044201330011 gSystems Li死鎖檢利用資源分配圖描述系進(jìn)程能否順利推or 進(jìn)資源分配圖的化死鎖定系統(tǒng)中某個(gè)時(shí)刻S為死鎖狀態(tài)的充分必要條件是,S時(shí)刻系統(tǒng)資源圖是非完全可化利用該定理,可以通過(guò)某種算法來(lái)實(shí)現(xiàn)資源分配圖的化簡(jiǎn),并以此為依據(jù)檢測(cè)系統(tǒng)中是否存在死鎖以及哪些進(jìn)程是死鎖的。 Li死鎖檢

Li死鎖檢有環(huán)路但無(wú)死有環(huán)路但無(wú)死鎖發(fā)(資源圖可完全化簡(jiǎn)

Li死鎖檢有有死

Li死鎖檢化化(資源圖非完全可化簡(jiǎn)

Li請(qǐng)求矩陣 分配矩陣可利用資源向量工作向量進(jìn)程向量311 2 2 213 3 24 3 3Av=[2342Re2=[2134 Al2=[1234

LiIfAli=[0,0,…,0]&Rei=[0,0,…,0](i=1to PutPiToIfRei<=WorkLetAli=[0,0,…,0],Rei=[0,0,…,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論