网站大量收购独家精品文档,联系QQ:2885784924

处理机调度与死锁课件.ppt

处理机调度与死锁课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共83页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

3.5產生死鎖的原因和必要條件3.5.1產生死鎖的原因競爭資源。(2)進程間推進順序非法。1.競爭資源引起進程死鎖可剝奪和非剝奪性資源2)競爭非剝奪性資源3)競爭臨時性資源圖3-12I/O設備共用時的死鎖情況圖3-13進程之間通信時的死鎖2.進程推進順序不當引起死鎖1)進程推進順序合法圖3-14進程推進順序對死鎖的影響2)進程推進順序非法若併發進程P1和P2按曲線④所示的順序推進,它們將進入不安全區D內。此時P1保持了資源R1,P2保持了資源R2,系統處於不安全狀態。因為,這時兩進程再向前推進,便可能發生死鎖。例如,當P1運行到P1:Request(R2)時,將因R2已被P2佔用而阻塞;當P2運行到P2:Request(R1)時,也將因R1已被P1佔用而阻塞,於是發生了進程死鎖。3.5.2產生死鎖的必要條件互斥條件(2)請求和保持條件(3)不剝奪條件(4)環路等待條件2)動態優先權動態優先權是指,在創建進程時所賦予的優先權,是可以隨進程的推進或隨其等待時間的增加而改變的,以便獲得更好的調度性能。例如,我們可以規定,在就緒佇列中的進程,隨其等待時間的增長,其優先權以速率a提高。若所有的進程都具有相同的優先權初值,則顯然是最先進入就緒佇列的進程,將因其動態優先權變得最高而優先獲得處理機,此即FCFS演算法。若所有的就緒進程具有各不相同的優先權初值,那麼,對於優先權初值低的進程,在等待了足夠的時間後,其優先權便可能升為最高,從而可以獲得處理機。當採用搶佔式優先權調度演算法時,如果再規定當前進程的優先權以速率b下降,則可防止一個長作業長期地壟斷處理機。3.高回應比優先調度演算法優先權的變化規律可描述為:由於等待時間與服務時間之和,就是系統對該作業的回應時間,故該優先權又相當於回應比RP。據此,又可表示為:(1)如果作業的等待時間相同,則要求服務的時間愈短,其優先權愈高,因而該演算法有利於短作業。(2)當要求服務的時間相同時,作業的優先權決定於其等待時間,等待時間愈長,其優先權愈高,因而它實現的是先來先服務。(3)對於長作業,作業的優先順序可以隨等待時間的增加而提高,當其等待時間足夠長時,其優先順序便可升到很高,從而也可獲得處理機。3.2.3基於時間片的輪轉調度演算法1.時間片輪轉法在早期的時間片輪轉法中,系統將所有的就緒進程按先來先服務的原則,排成一個佇列,每次調度時,把CPU分配給隊首進程,並令其執行一個時間片。時間片的大小從幾ms到幾百ms。當執行的時間片用完時,由一個計時器發出時鐘中斷請求,調度程式便據此信號來停止該進程的執行,並將它送往就緒佇列的末尾;然後,再把處理機分配給就緒佇列中新的隊首進程,同時也讓它執行一個時間片。這樣就可以保證就緒佇列中的所有進程,在一給定的時間內,均能獲得一時間片的處理機執行時間。2.多級回饋佇列調度演算法(1)應設置多個就緒佇列,並為各個佇列賦予不同的優先順序。第一個佇列的優先順序最高,第二個佇列次之,其餘各隊列的優先權逐個降低。該演算法賦予各個佇列中進程執行時間片的大小也各不相同,在優先權愈高的佇列中,為每個進程所規定的執行時間片就愈小。例如,第二個佇列的時間片要比第一個佇列的時間片長一倍,……,第i+1個佇列的時間片要比第i個佇列的時間片長一倍。圖3-5是多級回饋佇列演算法的示意。圖3-5多級回饋佇列調度演算法(2)當一個新進程進入記憶體後,首先將它放入第一佇列的末尾,按FCFS原則排隊等待調度。當輪到該進程執行時,如它能在該時間片內完成,便可準備撤離系統;如果它在一個時間片結束時尚未完成,調度程式便將該進程轉入第二佇列的末尾,再同樣地按FCFS原則等待調度執行;如果它在第二佇列中運行一個時間片後仍未完成,再依次將它放入第三佇列,……,如此下去,當一個長作業(進程)從第一佇列依次降到第n佇列後,在第n佇列中便採取按時間片輪轉的方式運行。(3)僅當第一佇列空閒時,調度程式才調度第二佇列中的進程運行;僅當第1~(i-1)佇列均空時,才會調度第i佇列中的進程運行。如果處理機正在第i佇列中為某進程服務時,又有新進程進入優先權較高的佇列(第1~(i-1)中的任何一個佇列),則此時新進程將搶佔正在運行進程的處理機,即由調度程式把正在運行的進程放回到第i佇列的末尾,把處理機分配給新到的高優先

文档评论(0)

157****3839 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档