- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统原理(第2版)第5章 死锁及其对策
(3) 系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值: Available[j]∶=Available[j]-Requesti[j]; Allocation[i,j]∶=Allocation[i,j]+Requesti[j]; Need[i,j]∶=Need[i,j]-Requesti[j]; (4) 系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi,以完成本次分配;否则, 将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。 5.4.3 银行家算法之例 假定系统中有五个进程{P0, P1, P2, P3, P4}和三类资源{A, B, C},各种资源的数量分别为10、5、7,在T0时刻的资源分配情况如图 3-15 所示。 (1) T0时刻的安全性: (2) P1请求资源:P1发出请求向量Request1(1,0,2),系统按银行家算法进行检查: ① Request1(1, 0, 2)≤Need1(1, 2, 2) ② Request1(1, 0, 2)≤Available1(3, 3, 2) ③ 系统先假定可为P1分配资源,并修改Available, Allocation1和Need1向量,由此形成的资源变化情况如图 3-15 中的圆括号所示。 ④ 再利用安全性算法检查此时系统是否安全。 (3) P4请求资源:P4发出请求向量Request4(3,3,0),系统按银行家算法进行检查: ① Request4(3, 3, 0)≤Need4(4, 3, 1); ② Request4(3, 3, 0) Available(2, 3, 0),让P4等待。 (4) P0请求资源:P0发出请求向量Requst0(0,2,0),系统按银行家算法进行检查: ① Request0(0, 2, 0)≤Need0(7, 4, 3); ② Request0(0, 2, 0)≤Available(2, 3, 0); ③ 系统暂时先假定可为P0分配资源,并修改有关数据,如图 3-18 所示。 5.5 死锁的检测与解除 5.5.1 利用资源分配图检测死锁 1. 死锁状态的推断思想 根据死锁状态的定义,产生死锁的系统中必然有两个以上的进程处于相互等待状态,而不能够前进。所以,只要能判定出系统中每个进程能否前进,就可以检测出系统中是否存在死锁状态。 封锁进程:是指由于请求了超过系统中现有的未分配资源数目的资源而被系统封锁的进程。在被封锁期间,该进程不能执行任何操作。 非封锁进程:没有被系统封锁的进程。 在某种状态下,一个非封锁进程若要运行完毕,必须得到它所需要的全部资源,且运行完后要释放所有的资源。所释放的资源可能唤醒某个以前被封锁的进程,使这些进程得到所需的全部资源,并在有限时间内运行完毕,释放所有的资源。以此类推,直到系统的状态不再发生变化。此时,可能系统中全部进程都运行到了终点,也可能系统中剩下的全是封锁进程,即系统中存在死锁状态。按照此推想过程,前一种过程的初态即为非死锁状态,而后一种过程在初态即是死锁状态。 2. 资源分配图的简化 假设某个资源分配图中存在一个进程Pi,此刻Pi是非封锁进程,那么可以对此资源分配图做以下化简: 当Pi有申请边时,首先将其申请边变成分配边,即满足Pi进程的相应资源请求,而一旦Pi进程的所有资源请求都得到满足,Pi就能在有限的时间内运行结束,并释放所占用的所有资源。所以此时Pi只有分配边,可以将所有这些分配边删去。 总之,对非封锁进程Pi的化简即删除资源分配图中与Pi链接的所有有向边,使Pi变成孤立结点 在进行了一系列的化简后,如果能消去资源分配图中所有边,使所有进程结点都成为孤立结点,则称为该图为完全可化简的。反之,若一个资源分配图中的任一进程都不能化简,则称其为不可化简的。如果只能对某个资源分配图中的一些进程进行化简,则该图为非完全可化简的。 下图是一个完全可化简的资源分配图的化简过程 不可化简的资源分配图 (2) 凡属于E中的一个边e∈E,都连接着P中的一个结点和R中的一个结点,e={pi, rj}是资源请求边,由进程pi指向资源rj, 它表示进程pi请求一个单位的rj资源。e={rj, pi}是资源分配边,由资源rj指
您可能关注的文档
最近下载
- 统编版高中语文选择性必修中册第二单元苦难与新生中国革命传统作品研习单元任务群(一)苦难与新生课件(共14张PPT).ppt VIP
- 100海上大型绞吸疏浚装备的自主研发与产业化.pdf VIP
- 电阻式传感器课件.pptx VIP
- 杭州市第三届景点景区讲解员服务技能大赛笔试题库.docx VIP
- JVC摄像机GR-DV5000AC用户手册.pdf
- 沙原隐泉 优秀剖析.ppt VIP
- 公文写作:决定.ppt VIP
- 增碳剂对球墨铸铁的孕育作用.pdf VIP
- 上汽通用别克-全新一代GL8-产品使用说明书-28T Avenir-SGM6522UAA3-2018年款别克全新一代GL8用户手册.pdf
- 杭州市第三届景点景区讲解员服务技能大赛笔试题库.pdf VIP
原创力文档


文档评论(0)