操作系统进程管理.ppt

  1. 1、本文档共150页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
避免死锁的方法 银行家算法(重点) 2 银行家算法描述 系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi,以完成本次分配;否则,将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。 * 避免死锁的方法 银行家算法(重点) 3 安全性算法 设置2个向量: 工作向量Work:它表示系统可提供给进程继续运行所需的各类资源数目,执行安全性算法时,Work Available; 判断向量Finish:它表示系统是否有足够的资源分配给进程使之运行完成,开始时Finish[i] 0;当有足够资源分配给进程时,令Finish[i] 1。 * 避免死锁的方法 银行家算法(重点) 3 安全性算法 从进程集合中找出一个能满足下列条件的进程: Finish[i] 0 Need[i,j]≤Work[j] 若找到,则执行步骤③,否则执行步骤④。 * 避免死锁的方法 银行家算法(重点) 3 安全性算法 当进程Pi获得资源后,便可顺利执行,直到运行完毕释放分配给它的资源,故应执行: Work[j]=Work[j]+Allocation[i,j]; Finish[i]=1; go to step 2; * 避免死锁的方法 银行家算法(重点) 3 安全性算法 如果所有进程的Finish[i]都等于1,则表示系统处于安全状态,否则系统处于不安全状态。 * 避免死锁的方法 银行家算法(重点) 4 银行家算法举例 假定系统中有4个进程P1、P2、P3、P4和3类资源A、B、C,各种资源的数目分别为9、3、6,在T0时刻的资源分配情况为: * Max A B C Allocation A B C Need A B C Available A B C P1 3 2 2 1 0 0 2 2 2 1 1 2 P2 6 1 3 5 1 1 1 0 2 P3 3 1 4 2 1 1 1 0 3 P4 4 2 2 0 0 2 4 2 0 避免死锁的方法 银行家算法(重点) 4 银行家算法举例 在T0时刻系统是否安全? * Max A B C Allocation A B C Need A B C Available A B C P1 3 2 2 1 0 0 2 2 2 1 1 2 P2 6 1 3 5 1 1 1 0 2 P3 3 1 4 2 1 1 1 0 3 P4 4 2 2 0 0 2 4 2 0 * Max A B C Allocation A B C Need A B C Available A B C P1 3 2 2 1 0 0 2 2 2 1 1 2 P2 6 1 3 5 1 1 1 0 2 P3 3 1 4 2 1 1 1 0 3 P4 4 2 2 0 0 2 4 2 0 Work A B C Need A B C Allocation A B C Work+Allocation A B C Finish * Max A B C Allocation A B C Need A B C Available A B C P1 3 2 2 1 0 0 2 2 2 1 1 2 P2 6 1 3 5 1 1 1 0 2 P3 3 1 4 2 1 1 1 0 3 P4 4 2 2 0 0 2 4 2 0 Work A B C Need A B C Allocation A B C Work+Allocation A B C Finish P2 1 1 2 1 0 2 5 1 1 6 2 3 1 P1 6 2 3 2 2 2 1 0 0 7 2 3 1 P3 7 2 3 1 0 3 2 1 1 9 3 4 1 P4 9 3 4 4 2 0 0 0 2 9 3 6 1 存在安全序列, 系统安全。 避免死锁的方法 银行家算法(重点) 4 银行家算法举例 在T0时刻若P2发出资源请求Request2 1,0,1 ,系统能否将资源分配给它? * 避免死锁的方法 解: Request2 1,0,1 ≤Need2 1,0,2 Request2 1,0,1 ≤Available 1,1,2

文档评论(0)

精品家园 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档