- 1、本文档共175页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
该图是由一组结点N和一组边E所组成的一个对偶G?=?(N, E),它具有下述形式的定义和限制: (1) 把N分为两个互斥的子集,即一组进程结点P={P1, P2, …, Pn}和一组资源结点R={R1, R2, …, Rn},N?=?P∪R。在图3-19所示的例子中,P?=?{P1, P2},R?=?{R1, R2},N?=?{R1, R2}∪{P1, P2}。 (2) 凡属于E中的一个边e∈E,都连接着P中的一个结点和R中的一个结点,e?=?{Pi, Rj}是资源请求边,由进程Pi指向资源Rj,它表示进程Pi请求一个单位的Rj资源。E?=?{Rj, Pi}是资源分配边,由资源Rj指向进程Pi,它表示把一个单位的资源Rj分配给进程Pi。图3-19中示出了两个请求边和两个分配边,即E?=?{(P1, R2), (R2, P2), (P2, R1), (R1, P1)}。 图3-19 每类资源有多个时的情况 2.死锁定理 我们可以利用把资源分配图加以简化的方法(图3-19),来检测当系统处于S状态时,是否为死锁状态。简化方法如下: (1) 在资源分配图中,找出一个既不阻塞又非独立的进程结点Pi。在顺利的情况下,Pi可获得所需资源而继续运行,直至运行完毕,再释放其所占有的全部资源,这相当于消去Pi的请求边和分配边,使之成为孤立的结点。在图3-20(a)中,将P1的两个分配边和一个请求边消去,便形成图(b)所示的情况。 图3-20 资源分配图的简化 (2) ?P1释放资源后,便可使P2获得资源而继续运行,直至P2完成后又释放出它所占有的全部资源,形成图(c)所示的情况,即将P2的两条请求边和一条分配边消去。 (3) 在进行一系列的简化后,若能消去图中所有的边,使所有的进程结点都成为孤立结点,则称该图是可完全简化的;若不能通过任何过程使该图完全简化,则称该图是不可完全简化的。 3.死锁检测中的数据结构 死锁检测中的数据结构类似于银行家算法中的数据结构: (1) 可利用资源向量Available,它表示了m类资源中每一类资源的可用数目。 (2) 把不占用资源的进程(向量Allocation=0)记入L表中,即Li∪L。 (3) 从进程集合中找到一个Requesti≤Work的进程,做如下处理:① 将其资源分配图简化,释放出资源,增加工作向量Work =Work + Allocation i。② 将它记入L表中。 (4) 若不能把所有进程都记入L表中,便表明系统状态S的资源分配图是不可完全简化的。因此,该系统状态将发生死锁。 3.8.2 死锁的解除 1. 终止进程的方法 1) 终止所有死锁进程 这是一种最简单的方法,即是终止所有的死锁进程,死锁自然也就解除了,但所付出的代价可能会很大。因为其中有些进程可能已经运行了很长时间,已接近结束,一旦被终止真可谓“功亏一篑”,以后还得从头再来。还可能会有其它方面的代价,在此不再一一列举。 2) 逐个终止进程 稍微温和的方法是,按照某种顺序,逐个地终止进程,直至有足够的资源,以打破循环等待,把系统从死锁状态解脱出来为止。但该方法所付出的代价也可能很大。因为每终止一个进程,都需要用死锁检测算法确定系统死锁是否已经被解除,若未解除还需再终止另一个进程。另外,在采取逐个终止进程策略时,还涉及到应采用什么策略选择一个要终止的进程。选择策略最主要的依据是,为死锁解除所付出的“代价最小”。但怎么样才算是“代价最小”,很难有一个精确的度量。 2. 付出代价最小的死锁解除算法 一种付出代价最小的死锁解除算法如图3-21所示。 图3-21 付出代价最小的死锁解除算法 习 题 ?? 1. 高级调度与低级调度的主要任务是什么? 为什么要引入中级调度? 2. 处理机调度算法的共同目标是什么? 批处理系统的调度目标又是什么? 3. 何谓作业、作业步和作业流? 4. 在什么情况下需要使用作业控制块JCB,其中包含了哪些内容? 5. 在作业调度中应如何确定接纳多少个作业和接纳哪些作业? 6. 为什么要引入高响应比优先调度算法? 它有何优点? 7. 试说明低级调度的主要功能。 8. 在抢占调度方式中,抢占的原则是什么? 9. 在选择调度方式和调度算法时,应遵循的准则是什么? 10. 在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法? 11. 何谓静态和动态优先级? 确定静态优先级的依据是什么? 12. 试比较FCFS和SJF两种进程调度算法。 13. 在时间片轮转法中,应如何确定时间片的大小? 14. 通过一个例子来说明通
您可能关注的文档
最近下载
- 川教版(2024)三年级上册信息科技 3.8电子小报记见闻 课件.pptx VIP
- 2023年二级建造师《公路实务案例分析》考前重点知识总结.pdf VIP
- 《客舱安全与应急处置》——课件:空中烟雾和火灾的基本处置程序.pptx VIP
- 食品加工企业全套生产管理记录台账(必备42表).pdf
- GB175-2023《通用硅酸盐水泥》-培训.pptx
- 砖砌化粪池标准图集.pptx
- 川教版(2024)三年级上册信息科技 3.7在线交流聊计划 课件.pptx VIP
- 6年级多届YMO数学初选试卷汇编.docx
- 道路救援及理赔考试卷及答案.docx
- 卫生院“优质服务基层行”支撑材料(2.2.1.6全科医疗服务).docx VIP
文档评论(0)