進(jìn)程管理6(死鎖問(wèn)題、線程)

進(jìn)程管理6(死鎖問(wèn)題、線程)

ID:46978883

大?。?83.50 KB

頁(yè)數(shù):82頁(yè)

時(shí)間:2019-12-02

進(jìn)程管理6(死鎖問(wèn)題、線程)_第1頁(yè)
進(jìn)程管理6(死鎖問(wèn)題、線程)_第2頁(yè)
進(jìn)程管理6(死鎖問(wèn)題、線程)_第3頁(yè)
進(jìn)程管理6(死鎖問(wèn)題、線程)_第4頁(yè)
進(jìn)程管理6(死鎖問(wèn)題、線程)_第5頁(yè)
資源描述:

《進(jìn)程管理6(死鎖問(wèn)題、線程)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、3.5死鎖問(wèn)題在多道程序系統(tǒng)中,多個(gè)進(jìn)程并發(fā)運(yùn)行,共享資源,從而提高了資源的利用率。但是若對(duì)資源的管理和使用不當(dāng),在一定條件下會(huì)導(dǎo)致系統(tǒng)發(fā)生一種隨機(jī)性故障――死鎖。在一些系統(tǒng)中,比如實(shí)時(shí)控制系統(tǒng),系統(tǒng)一旦發(fā)生死鎖將導(dǎo)致災(zāi)難性的后果。3.5.1死鎖的基本概念?資源?死鎖的定義?產(chǎn)生死鎖的原因?產(chǎn)生死鎖的必要條件?處理死鎖的基本方法?資源的概念OS是計(jì)算機(jī)系統(tǒng)中資源的管理者,而進(jìn)程是競(jìng)爭(zhēng)資源的基本單位,故對(duì)系統(tǒng)中所有進(jìn)程的資源分配工作,都由OS完成。研究資源分配時(shí),我們必須搞清該資源是可以被幾個(gè)進(jìn)程同時(shí)使用

2、,還是只能為一個(gè)進(jìn)程使用,資源的不同使用性質(zhì)正是引起系統(tǒng)死鎖的原因。根據(jù)資源性質(zhì):可剝奪(搶占)和不可剝奪(搶占)資源??蓳屨假Y源—指資源占有進(jìn)程雖然需要使用該資源,但另一個(gè)進(jìn)程卻強(qiáng)行把資源從占有者進(jìn)程處搶來(lái)。不可搶占資源—指只有占用者進(jìn)程不再需要使用該資源而主動(dòng)釋放資源外,其它進(jìn)程不得在占有者進(jìn)程使用資源過(guò)程中強(qiáng)行搶占。資源的分類根據(jù)使用方式:共享資源和獨(dú)享資源。根據(jù)使用期限;永久資源和臨時(shí)性資源。資源CPU、主存、硬盤(pán):該類資源可為幾個(gè)進(jìn)程共同使用(可搶占)打印機(jī),讀卡機(jī),磁帶驅(qū)動(dòng)器:可為某個(gè)進(jìn)程獨(dú)

3、享(不可搶占)可重復(fù)使用的資源由一個(gè)進(jìn)程產(chǎn)生,被另外一個(gè)進(jìn)程使用短暫時(shí)間之后便無(wú)用的資源?死鎖的定義死鎖Deadlock:是計(jì)算機(jī)系統(tǒng)中多道程序并發(fā)執(zhí)行時(shí),兩個(gè)或兩個(gè)以上的進(jìn)程由于競(jìng)爭(zhēng)資源而造成的一種互相等待的現(xiàn)象(僵局),如無(wú)外力作用,這些進(jìn)程將永遠(yuǎn)不能再向前推進(jìn)。陷入死鎖狀態(tài)的進(jìn)程稱為死鎖進(jìn)程,所占用的資源或者需要它們進(jìn)行某種合作的其它進(jìn)程就會(huì)相繼陷入死鎖,最終可能導(dǎo)致整個(gè)系統(tǒng)處于癱瘓狀態(tài)。判斷1參與死鎖的所有進(jìn)程都占有資源2參與死鎖的所有進(jìn)程均正在等待資源3參與死鎖的所有進(jìn)程中至少有兩個(gè)進(jìn)程占有資

4、源4參與死鎖的進(jìn)程至少有兩個(gè)參與死鎖的進(jìn)程最少是兩個(gè)(兩個(gè)以上進(jìn)程才會(huì)出現(xiàn)死鎖)參與死鎖的進(jìn)程至少有兩個(gè)已經(jīng)占有資源參與死鎖的所有進(jìn)程都在等待資源參與死鎖的進(jìn)程是當(dāng)前系統(tǒng)中所有進(jìn)程的子集注:如果死鎖發(fā)生,會(huì)浪費(fèi)大量系統(tǒng)資源,甚至導(dǎo)致系統(tǒng)崩潰關(guān)于死鎖的一些結(jié)論?產(chǎn)生死鎖的原因1競(jìng)爭(zhēng)資源。當(dāng)系統(tǒng)中供多個(gè)進(jìn)程所共享的資源,不足以同時(shí)滿足它們的需要時(shí),引起它們對(duì)資源的競(jìng)爭(zhēng)而產(chǎn)生死鎖;2進(jìn)程推進(jìn)的順序不當(dāng)。進(jìn)程在運(yùn)行過(guò)程中,請(qǐng)求和釋放資源的順序不當(dāng),導(dǎo)致進(jìn)程的死鎖。競(jìng)爭(zhēng)資源1競(jìng)爭(zhēng)非剝奪性資源:2競(jìng)爭(zhēng)臨時(shí)性資源打印

5、機(jī)R1磁帶機(jī)R2P1P2P1S1S3P2P3S2P1:Release(S1);Request(S3)P2:Release(S2);Request(S1)P3:Release(S3);Request(S2)不可能發(fā)生死鎖P1:Request(S3);Release(S1)P2:Request(S1);Release(S2)P3:Request(S2);Release(S3)可能發(fā)生死鎖S1、S2、S3是臨時(shí)資源例:進(jìn)程P1、P2并發(fā)執(zhí)行。共享資源R1、R2②P2Rel(R1)P2Rel(R2)P2Req(

6、R1)P2Req(R2)P1Req(R1)P1Req(R2)P1Rel(R1)P1Rel(R2)③④③③③②①①曲線4將進(jìn)入不安全區(qū)域(進(jìn)程推進(jìn)順序非法)死鎖模型R1R2P1P2申請(qǐng)r2已分配給p2申請(qǐng)r1已分配給P1R2已經(jīng)分配給P1、R1已經(jīng)分配給P2?產(chǎn)生死鎖的四個(gè)必要條件⑴互斥條件:進(jìn)程訪問(wèn)的是臨界資源,那個(gè)資源一次只能被一個(gè)進(jìn)程所使用。⑵不剝奪條件:一個(gè)資源僅能被占有它的進(jìn)程所釋放,而不能被其他進(jìn)程剝奪。⑶部分分配:(請(qǐng)求和保持條件)一個(gè)進(jìn)程在請(qǐng)求新的資源的同時(shí),保持對(duì)某些資源的占有。⑷環(huán)路等

7、待條件:存在一個(gè)進(jìn)程的環(huán)路鏈,鏈中每一個(gè)進(jìn)程占用有著某個(gè)或某些資源,又在等待鏈中的另一個(gè)進(jìn)程占有的資源。生產(chǎn)者—消費(fèi)者問(wèn)題avail-生產(chǎn)者用信號(hào)量,記錄緩沖區(qū)空單元個(gè)數(shù)。Full—消費(fèi)者信號(hào)量,記錄產(chǎn)品個(gè)數(shù)。Mutex—互斥信號(hào)量。deposit(data)remove(data)beginbeginp(avail)p(full)p(mutex)p(mutex)送數(shù)據(jù)入緩沖區(qū)某取緩沖區(qū)中某單元單元數(shù)據(jù)v(full)v(avail)v(mutex)v(mutex)endend在前述若pv操作使用不當(dāng),會(huì)

8、引起死鎖。把生產(chǎn)者進(jìn)程兩個(gè)p操作次序調(diào)換一下,先執(zhí)行P(mutex),后執(zhí)行P(avail)P(mutex)互斥P(avail)判斷緩沖區(qū)滿,不能送,從消費(fèi)者執(zhí)行。那么當(dāng)緩存區(qū)滿且消費(fèi)者此時(shí)不再臨界區(qū)中,執(zhí)行到互斥P(mutex)后,消費(fèi)者進(jìn)程想進(jìn)入臨界區(qū),但被阻塞在外。若生產(chǎn)者希望進(jìn)入臨界區(qū),也被阻塞,于是兩個(gè)進(jìn)程無(wú)限止地相互等待對(duì)方來(lái)喚醒自己,兩個(gè)進(jìn)程陷入死鎖。1、預(yù)防死鎖:通過(guò)設(shè)置某些限制條件,去破壞死鎖四個(gè)必要條件中的一個(gè)或多個(gè),來(lái)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。