银行家问题算法报告ppt.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
银行家问题算法报告ppt

* 银行家算法 了解死锁: 什么叫死锁? 所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 那么为什么会产生死锁呢? 1.因为系统资源不足。 2.进程运行推进的顺序不合适。 3.资源分配不当。 预防死锁的各种方法 1.破坏互斥条件 2.破坏不可剥夺条件 3.破坏零散请求条件 4.破坏循环等待条件 产生死锁的四个必要条 1.互斥条件 2.不可抢占条件 3.占有且申请条件 4.循环等待条件 银行家算法是一个避免死锁算法。 背景: 在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量,在满足所有贷款要求时,客户应及时归还。银行家在客户申请的贷款数量不超过自己拥有的最大值时,都应尽量满足客户的需要。在这样的描述中,银行家就好比操作系统,资金就是资源,客户就相当于要申请资源的进程。 银行家算法是一种最有代表性的避免死锁的算法 。 算法原理: 操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程本次申请的资源数是否超过了该资源所剩余的总量。若超过则拒绝分配资源,若能满足则按当前的申请量分配资源,否则也要推迟分配。 银行家算法之例: 设有五种进程,p[0],p[1],p[2]p[3]p[4]和三类资源:A.,B,C,在某时刻资源分配情况如下: 银行家算法的数据结构: 每个进程的最大资源数 Max 每个进程目前拥有的资源数 Allocation 每个进程需要的资源数 Need 可得到的资源 Available 基本步骤: 资源申请 试分配 安全性验证 模块一:资源申请条件 发出的资源请求量大于所需资源数量最大值: 申请资源A类need 申请资源B类need 申请资源C类need 发出的资源请求量大于所需资源数量,分配错误! 发出的资源请求量大于可分配资源数量: 申请资源A类Available 申请资源B类Available 申请资源C类Available 尚无足够资源,必须等待! 模块二:试分配 满足申请后数据变化如下: 满足资源申请 Available[i] = Available[i]-Request[i]; Allocation[PNum][i] = Allocation[PNum][i]+Request[i]; Need[PNum][i]=Need[PNum][i]-Request[i]; 试分配 *

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档