- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章模板
P1 有安全系列如下 Work Allocation Need W+A Finish P1 2 2 0 3 0 2 0 2 0 5 2 2 T P3 5 2 2 2 1 1 0 1 1 7 3 3 T P4 7 3 3 0 0 2 4 3 1 7 3 5 T P0 7 3 5 0 2 0 7 3 3 7 5 5 T P2 7 5 5 3 0 2 6 0 0 10 5 7 T * 例: P0请求:Reqest(0,1,0) Allocation Need Available P0 0 1 0 7 4 3 2 3 0 P1 3 0 2 0 2 0 P2 3 0 2 6 0 0 P3 2 1 1 0 1 1 P4 0 0 2 4 3 1 * 试探分配后 Allocation Need Available P0 0 2 0 7 3 3 2 2 0 P1 3 0 2 0 2 0 P2 3 0 2 6 0 0 P3 2 1 1 0 1 1 P4 0 0 2 4 3 1 2 2 0 P1 5 2 2 P3 7 3 3 P4 7 3 5 P0 7 5 5 P2 10 5 7 * 习题1 已分配的资源 最大需求量 A B C A B C P1 0 1 0 7 5 3 P2 2 0 0 3 2 2 P3 3 0 2 9 0 2 P4 2 1 1 2 2 2 P5 0 0 2 4 3 3 剩余资源 A B C 3 3 2 * 问题:此状态是否为安全状态,如果 是, 则找出安全序列 在此基础上 P2 申请(1,0,2)能否分配?为什么? P5 申请(3,3,0)能否分配?为什么? P1 申请(0,2,0)能否分配?为什么? * 习题2 1、 一台计算机共8台磁带机,由N个进程共享,每个进程最多要3台,问N为多少时不会有死锁,为什么? N=2 2、有R1(2)、R2(1)两类资源和两个进程P1、P2,两个进程均以 申请R1?申请R2?申请R1?释放R1?释放R2?释放R1 顺序使用资源,求可能达到的死锁点,并画出此时的资源分配图。 * 解 当两个进程都执行完第1步后,无论哪个进程执行完第2步,以后,这两个进程再申请资源时就会死锁。 P1 P2 R1 R2 * 小结 * 利用银行家算法避免死锁(续) 需求矩阵Need 。n*m矩阵,表示每个进程还需要各类资源数。 A B C P1 3 5 2 P2 2 1 1 P3 2 2 3 P4 2 3 2 * 例 设系统有五个进程和三类资源,每类资源分别有10、5、7。在T0时刻资源分配情况如图: * 银行家算法描述 当进程pi提出资源申请时,系统执行下列步骤: (1)若Request[i]≤Need[i],转(2); 否则错误返回 (2)若Request[i]≤Available, 转(3);否则进程等待 * 银行家算法描述(续) (3)假设系统分配了资源,则有: Available:=Available-Request[i]; Allocation[i]:=Allocation[i]+Request[i]; Need[i]:=Need[i]-Request[i] (4)执行安全性算法,若系统新状态是安全的,则分配完成,若系统新状态是不安全的,则恢复原状态,进程等待。 * 安全性算法 为进行安全性检查,定义数据结构: Work:ARRAY[0..m-1] of integer; Finish:ARRAY[0..n-1] of Boolean; m代表资源的数量,n代表进程的数量 * 安全性算法步骤 (1) Work:=Available; Finish:=false; (2) 寻找满足下列条件的i: a) Finish[i]=false; b) Need[i]≤Work; 如果不存在,则转(4) * 安全性算法步骤(续) (3) Work:=Work+Allocation[i]; Finish[i]:=true; 转(2) (4) 若对所有i,Finish[i]=true,则系统处于安全状态,否则处于不安全状态 * T0时刻的安全性检查 T0时刻可以找到一个安全序列{p1,p3,p4,p2,p0}. 系统是安全的。 * 例1:T0时刻P1请求资源 P1发出请求Request(1,0,2),执行银行家算法 * 执行安全性算法 可以找到一个安全序列{p1,p3,p4,p0,p2}. 系统是安全的,可以将P1的请求分配给它。 * 例2:P
您可能关注的文档
最近下载
- 人教版(2024)八年级历史上册课件 第12课 中国共产党诞生.pptx VIP
- 2025广西送变电建设有限责任公司第二批项目制用工招聘89人笔试参考题库附答案解析.docx VIP
- 地下商业街设计案例,国内外知名地下商业街.pdf VIP
- 人教版(2024)八年级历史上册课件 第11课 五四运动.pptx VIP
- DB13(J)T176-2015市政工程资料管理规程 conv.docx VIP
- 高中语文课件:38-《静女》情境默写.pptx
- 建筑工程绿色施工培训.pptx
- 2025广西送变电建设有限责任公司第二批项目制用工招聘89人笔试模拟试题及答案解析.docx VIP
- 微机原理与接口技术(全套).ppt
- 人教版(2024)八年级历史上册课件 第10 课 帝制复辟与军阀割据.pptx VIP
文档评论(0)