資源描述:
《hyz-os-2013-死鎖》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、108八月2021北京交通大學計算機學院操作系統(tǒng)(A)北京交通大學計算機學院何永忠副教授第三章:處理機調度與死鎖208八月2021北京交通大學計算機學院第三章處理機調度與死鎖3.1高級、中級與低級調度3.2調度隊列模型3.3調度方式與算法選擇準則3.4調度算法3.5死鎖產生及處理策略3.6死鎖避免與銀行家算法308八月2021北京交通大學計算機學院3.5死鎖產生及處理策略3.5.1死鎖的基本概念3.5.2死鎖產生的原因3.5.3死鎖產生的必要條件3.5.4處理死鎖的基本方法3.5.5死鎖的預防3.5.6死鎖的檢測與解除哲學家進餐問題回顧03214
2、04321死鎖的基本概念508八月2021北京交通大學計算機學院死鎖的基本概念哲學家進餐問題死鎖分析哲學家都拿起左手的筷子都申請右手的筷子?無法滿足?阻塞等待?無外界干預所有的哲學家都永遠阻塞等待死鎖(Deadlock)在多道程序系統(tǒng)中,并發(fā)執(zhí)行的多個進程因爭奪資源而造成的一種若無外力作用有關進程都將永遠不能向前推進的僵持狀態(tài)或僵局在多道程序系統(tǒng)中,一組進程中的每一個進程都無限等待被同組的另外一個進程所占有且永遠不會釋放的資源的狀態(tài)。608八月2021北京交通大學計算機學院死鎖的相關概念辨析餓死(Starvation)資源不被一個進程永久占用的情
3、況下,系統(tǒng)不能保證某個進程等待該資源的時間上界,從而使得該進程長時間等待該資源而無法在規(guī)定的時間完成例如:短進程優(yōu)先調度算法,不斷有更短的進程到達時,長進程將永久等待而餓死。活鎖(Livelock)除了進程狀態(tài)可能在不斷改變外,與死鎖類似沒有一個進程能向前執(zhí)行。例如:哲學家都拿起左手的筷子,試圖拿起右手的筷子不成,等待一段時間后都放下筷子又同時拿起左手的筷子。708八月2021北京交通大學計算機學院死鎖的后果進程永遠無法完成進程占有的資源永遠無法釋放你遇到過死鎖嗎?我的程序怎么不響應我的操作了?一個程序怎么一直不能完成?一個進程調用winrar解
4、壓文件時發(fā)生死鎖808八月2021北京交通大學計算機學院3.5死鎖產生及處理策略3.5.1死鎖的基本概念3.5.2死鎖產生的原因3.5.3死鎖產生的必要條件3.5.4處理死鎖的基本方法3.5.5死鎖的預防3.5.6死鎖的檢測與解除908八月2021北京交通大學計算機學院死鎖產生原因之一:競爭資源I/O設備共享時的死鎖情況(A)競爭非剝奪性資源P1P2R1R2非剝奪性資源:例如打印機。一旦分配不能隨時強行收回。可剝奪資源:例如CPU。分配后可隨時收回。1008八月2021北京交通大學計算機學院死鎖產生原因之一:競爭資源進程間通信時的死鎖情況(B)
5、競爭臨時性資源P1P3S1S3P2S2永久資源:例如打印機。始終存在的可重復使用的資源。臨時性資源:例如進程產生的消息。由一個進程產生,被另一個進程臨時使用的資源。P1:requestS3;releaseS1;P2:requestS1;releaseS2;P3:requestS2;releaseS3;1108八月2021北京交通大學計算機學院死鎖產生原因之二:進程推進次序非法P1Request(R1)P1Request(R2)P1Release(R1)P1Release(R2)P2Request(R2)P2Request(R1)P2Rele
6、ase(R2)P2Release(R1)12341208八月2021北京交通大學計算機學院3.5死鎖產生及處理策略3.5.1死鎖的基本概念3.5.2死鎖產生的原因3.5.3死鎖產生的必要條件3.5.4處理死鎖的基本方法3.5.5死鎖的預防3.5.6死鎖的檢測與解除1308八月2021北京交通大學計算機學院產生死鎖的必要條件互斥條件資源排它性使用,其他進程必須等待請求和保持條件請求資源未果進程雖阻塞但保持占有資源不放不剝奪條件進程已獲資源未使用完之前不能被剝奪環(huán)路等待條件進程-資源環(huán)形鏈P0?R1?P1?R2?P2?…?Pn?Rn?P01408八月
7、2021北京交通大學計算機學院3.5死鎖產生及處理策略3.5.1死鎖的基本概念3.5.2死鎖產生的原因3.5.3死鎖產生的必要條件3.5.4處理死鎖的基本方法3.5.5死鎖的預防3.5.6死鎖的檢測與解除1508八月2021北京交通大學計算機學院處理死鎖的基本方法預防死鎖避免死鎖檢測死鎖解除死鎖1608八月2021北京交通大學計算機學院3.5死鎖產生及處理策略3.5.1死鎖的基本概念3.5.2死鎖產生的原因3.5.3死鎖產生的必要條件3.5.4處理死鎖的基本方法3.5.5死鎖的預防與避免3.5.6死鎖的檢測與解除1708八月2021北京交通大學計
8、算機學院預防死鎖與避免死鎖如何防止死鎖的發(fā)生??思路:死鎖的原因包括競爭資源和推進次序非法兩個方面。競爭資源的環(huán)節(jié):用戶進程提出申請,系