- 1、本文档共106页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * T2时刻是否安全? 4.银行家算法举例__ P0请求req0(0,2,0) 资源情况 进程 max allocation need available A B C A B C A B C A B C P0 7 5 3 0 1 0 7 4 3 2 3 0 P1 3 2 2 3 0 2 0 2 0 P2 9 0 2 3 0 2 6 0 0 P3 2 2 2 2 1 1 0 1 1 P4 4 3 3 0 0 2 4 3 1 0 3 0 7 2 3 2 1 0 work A B C 2 1 0 进程P1、P2、P3、P4、P0都不能满足,故T2时刻是不安全的 撤销为P0分配的资源(0 2 0) 银行家算法小结: 银行家算法从避免死锁的角度上说是非常有效的。 从某种意义上说,它缺乏实用价值,因为很少有进程能够在运行前就知道其所需资源的最大值,而且进程数也不是固定的,往往在不断地变化(如新用户登录或退出),况且原本可用的资源也可能突然间变成不可用(如磁带机可能坏掉)。 因此,在实际中,如果有,也只有极少的系统使用银行家算法来避免死锁。 3.7.2 利用银行家算法避免死锁 例题:某系统有同类互斥资源m个,供n个进程共享使用。如果每个进程最多申请x个资源(1≤x≤m),试证明:当n*(x-1)+1≤m时,系统不会发生死锁。 证明: 因为每个进程最多申请x个资源,所以最坏情况是每个进程都得到了(x-1)个资源,并且现在均需申请最后一个资源。 此时,系统剩余资源数为m-n*(x-1),于是只要系统中至少还有一个资源可供使用,就可以使这n个进程中某个进程得到其所需要的全部资源,并能够继续执行到完成,归还资源可供其他进程继续使用。因而不会发生死锁。 即只要m-n*(x-1)≥1时,系统就一定不会发生死锁。亦即当n*(x-1)+1≤m时,系统不会发生死锁。 3.8 死锁的检测与解除 3.8.1 死锁的检测 1. 资源分配图(Resource Allocation Graph) 图 3-19 每类资源有多个时的情况 凡属于E中的一个边e∈E,都连接着P中的一个结点和R中的一个结点,e={pi, rj}是资源请求边,由进程pi指向资源rj, 它表示进程pi请求一个单位的rj资源。e={rj, pi}是资源分配边,由资源rj指向进程pi, 它表示把一个单位的资源rj分配给进程pi。 死锁概率小,可对资源分配不予控制,系统可提供2个算法:死锁检测以及死锁解除。 2. 死锁定理 图 3-20 资源分配图的简化 3.8.1 死锁的检测 S为死锁状态的充分条件是:当且仅当S状态的资源分配图是不可完全简化的。 3. 死锁检测中的数据结构 (1) 可利用资源向量Available,它表示了m类资源中每一类资源的可用数目。 (2) 把不占用资源的进程(向量Allocation∶=0)记入L表中, 即Li∪L。 (3) 从进程集合中找到一个Requesti≤Work的进程,做如下处理: ① 将其资源分配图简化,释放出资源,增加工作向量Work∶=Work+Allocationi。 ② 将它记入L表中。 3.8.1 死锁的检测 (4) 若不能把所有进程都记入L表中, 便表明系统状态S的资源分配图是不可完全简化的。 因此,该系统状态将发生死锁。 Work =Available; L= {Li|Allocationi=0∩Requesti=0} while (all Li L) { while (all Requesti≤Work) { Work=Work+Allocationi; L= Li∪L; } } deadlock = ~ (L=={p1, p2, …, pn}); 3. 死锁检测中的数据结构 3.8.1 死锁的检测 3.8.2 死锁的解除 解除死锁的方法: 抢占资源; (2) 撤消(或终止)进程。 1.终止进程的方法 (1)终止所有死锁进程,代价较高; (2)逐个终止进程,直至有足够的资源,打破循环等待以解除死锁。 选择被终止的进程依据: 优先级大小; 已占用CPU
您可能关注的文档
- 第32讲 时序逻辑电路的设计.ppt
- 市场营销实训说课汇报.ppt
- 市场营销理论与实训02.ppt
- 市场营销原理与实训彭石普项目五.ppt
- 市场营销环境.ppt
- 第30课《诗四首》(共83张PPT).ppt
- 市场营销理论与实训03.ppt
- 市场营销理论与实训教程.ppt
- 第39章 细胞代谢与基因表达调控.ppt
- 市场营销理论与实训教程任务02.ppt
- 北师大版(2024)八年级数学上册课件 3.2 平面直角坐标系 第2课时 点的坐标特征.pptx
- 北师大版(2024)八年级数学上册课件 3.2 平面直角坐标系 第3课时 建立适当的平面直角坐标系.pptx
- 北师大版(2024)八年级数学上册课件 4.3 一次函数的图象 第1课时 正比例函数的图象及性质.pptx
- (人教A版数学选择性必修三)讲义第15讲7.1.1条件概率(学生版+解析).docx
- (人教A版数学选择性必修三)讲义第19讲8.1成对数据的统计相关性(8.1.1变量的相关关系+8.1.2样本相关系数)(学生版+解析).docx
- 北师大版(2024)八年级数学上册课件 5.2 二元一次方程组的解法 第2课时 加减消元法.pptx
- (人教A版数学选择性必修一)2025年秋季学期讲义第01讲1.1.1空间向量及其线性运算(学生版+教师版).docx
- 北师大版(2024)八年级数学上册课件 5.2 二元一次方程组的解法 第1课时 代入消元法.pptx
- 北师大版(2024)八年级数学上册课件 5.3 二元一次方程组的应用 第3课时 二元一次方程组的应用(3).pptx
- 北师大版(2024)八年级数学上册课件 5.4 二元一次方程与一次函数 第2课时 用二元一次方程组确定一次函数表达式.pptx
文档评论(0)