操作系统_第三章 进程管理(旧).ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统_第三章 进程管理(旧)

死锁预防方法3 银行家算法 该算法在有进程提出资源分配请求时,首先检查申请者对各类资源的最大需求量,如果系统现存的各类资源可以满足当前它对各类资源的最大需求量时,就满足它的请求。 即:仅当申请者可以在一定时间内无条件地归还它所申请的全部资源时,才能将资源分配给它。 银行家算法示例 假设系统有三个进程p,q,r,系统只具有某类资源10个,目前分配情况如下: 进程 已占资源个数 还需资源个数 p 4 4 q 2 2 r 2 7 此时,p,r再申请资源系统就不能进行分配了,因为目前只剩下2个资源,不能满足它们的最大需求,如果将剩余2个资源分配给p或r,就会形成: 进程 已占资源个数 还需资源个数 p 4 或5或6 4或3或2 q 2 2 r 2 或3或4 7或6或5 此后,3个进程再提出资源请求系统就无 法满足了,结果就产生了死锁。 而如果等q提出请求却可以满足它,因为 它只需要2个资源就可运行结束,系统此时 能够满足它的最大需求。等它运行结束后 就能满足p的最大要求对p进行分配。最后 再对r进行分配,这样就不会产生死锁。 银行家算法的数据结构包括: 可用资源向量Available 最大需求矩阵Max 分配矩阵Allocation 需求矩阵Need 银行家算法如下: 设Requesti是进程Pi的请求向量,Requesti (j)=k表示进程Pi请求分配Rj类资源k个,当Pi发出资源请求后,系统按照下列步骤进行检查。 (1)若Requesti≤Need,则执行步骤(2);否则系统会因为它所需要的资源数已超过它要求的最大值而认为出错。 (2)若Requesti≤Available,则执行步骤(3);否则系统会因为系统中尚无足够的资源满足Pi的申请而使进程Pi等待。 (3)系统试探地把资源分配给进程Pi并修改如下数据结构中的值: Available=Available-Requesti Allocationi=Allocationi+Requesti Needi=Needi-Requesti (4)系统执行安全算法,检查此次资源分配后,系统是否处于安全状态。若是则系统才真正将资源分配给进程Pi以完成本次分配;若不是则系统将试探分配其他进程。 系统所执行的安全性算法描述如下: (1)设置两个向量:Work和Finish。 (2)从进程集合中找到一个能满足下述条件的进程: ① Finish(i)=false ② Needi≤Work (3)当进程Pi获得资源后可顺利执行直到完成,然后释放分配给它的资源,并作如下工作: ① Work=Work+Allocation ② Finish(i)=true (4)若所有进程的Finish(i)的值都为true,则说明系统处于安全状态;否则系统处于不安全状态。 银行家算法实例 1、假定系统中有5个进程{P0,P1,P2,P3,P4}和三种类型的资源{A,B,C},每一种资源的数量分别为10、5、7,在T时刻的资源分配情况如下: 已分配的资源数 尚需的资源数 系统T时刻剩余资源数 A B C A B C A B C p0 0 1 0 7 4 3 3 3 2 p1 2 0 0 1 2 2 p2 3 0 2 6 0 0 p3 2 1 1 0 1 1 p4 0 0 2 4 3 1 试问:(1)T时刻的状态是否安全,并说明原因; (2)如果进程P1提出请求Request1(1,0,2),请说明系统能否将资源分配给它? (3)如果进程P4提出请求Request4(3,3,0),请说明系统能否将资源分配给它? 死锁的解除 (1)资源剥夺法。 1)还原算法。即恢复计算结果和状态。 2)建立检查点主要是用来恢复分配前的状态。 (2)撤消进程法。 1)程序的优先数,即被撤消进程的优先数。 2)作业类的外部代价 3)运行代价,即重新启动它并运行到当前撤消点所需要的代价。 本章小结 本章内容是本教材的重点和难点,主要讲述程序并发执行及特点、

文档评论(0)

ajgoaw + 关注
内容提供者

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

1亿VIP精品文档

相关文档