课件处理器管理-2教学课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NO:* 第四章 操作系统 4.2 处理器管理 银行家算法 银行家算法把操作系统比作是一个银行家,它占有有限的资源,而要求资源的进程好比要贷款的顾客。算法规定: 1. 每个用户必须预先申请它所需的贷款总数,且数值不能超过银行资金总数。 2. 每个用户每次只能向银行申请一个单位贷款数。 3. 银行根据当时的资金情况,可能立即满足用户申请,或需要用户等待一段有限时间。 4. 当用户贷款总数达到申请数后,必须在有限时间内一次性归还所有贷款。 NO:* 第四章 操作系统 4.2 处理器管理 态状 行银 甲 乙 丙 A 10 (8) (3) (9) … … … … B 2 4(4) 2(1) 2(7) 例如某银行资金总数为10万元,用户甲、乙、丙申请贷款总数分别为8万元、3万元、9万元。用户每次向银行申请贷款数为1万元。 ① A为初始状态,银行库存10万元,甲乙丙申请贷款分别为8,3,9万元。 ② 当借贷进行到状态B时,甲、乙、丙分别得到贷款4,2,2万元。括号中的数字为尚可申请的贷款数。 NO:* 第四章 操作系统 4.2 处理器管理 ③ 若甲乙丙继续提出贷款申请,银行要考虑库存与各用户尚可申请的贷款数,为使借贷安全,只同意继续提供用户乙的贷款,而甲和丙暂时等待,待用户乙获得全部贷款并在有限时间内全部归还后再考虑贷款。如此进行下去,各用户均能获得贷款,而银行也可以如数收回资金,其过程如下页表所示: 态状 行银 甲 乙 丙 A 10 (8) (3) (9) … … … … B 2 4(4) 2(1) 2(7) NO:* 第四章 操作系统 4.2 处理器管理 状态 银行 甲 乙 丙 C 1 4(4) 3(0) 2(7) D 4 归还 … … … … E 0 8(0) 2(7) F 8 归还 … … G 1 9(0) H 10 归还 NO:* 第四章 操作系统 4.2 处理器管理 非银行算法可能引起的死锁状态 状态 银行 甲 乙 丙 C 1 5(3) 2(1) 2(7) D 0 5(3) 2(1) 3(6) E (死锁) 如果银行随意给各申请用户贷款,则可能出现银行库存满足不了甲、乙、丙的申请余额,使它们永不归还贷款,从而使银行无法收回资金,系统处于死锁状态,如下表所示。 NO:* 第四章 操作系统 4.2 处理器管理 Habermann算法:用户对多类资源提出的请求 根据系统中进程数和所需资源写出进程请求矩阵B 例如:某系统由4个进程P1,P2,P3和P4组成,其相应的请求矩阵为: bij表示第i个进程对第j类资源的需求情况,如果 bij=0 则说明进程 Pi 对资源 Rj 没有要求 NO:* 第四章 操作系统 4.2 处理器管理 死锁的检测是采用进程有向图 {π, E},其中 π= {P1,P2,…,Pn}, e∈E,有向边eik={Pi,Pk} 表示进程Pi申请的资源Rj也可能为进程Pk所申请。每当有向图出现环路时,认为该进程的资源请求将导致死锁,系统拒绝分配。 ① 开始 P1 P2 P3 P4 ② P1请求R1 P1 P2 P3 P4 NO:* 第四章 操作系统 4.2 处理器管理 ③ P2请求R3 P1 P2 P3 P4 ④ P2请求R2 P1 P2 P3 P4 P1,P2形成环路,拒绝分配,P2阻塞 ⑤ P3请求R2 P1 P2 P3 P4 P1,P2,P3形成环路,拒绝分配,P3阻塞 ⑥ P4请求R4 P1 P2 P3 P4 ⑦ P1请求R2 P1 P2 P3 P4 ⑧ P1运行完毕 P2 P3 P4 释放R1,R2,唤醒P2,把R2分配给P2 NO:* 第四章 操作系统 4.2 处理器管理 (3) 死锁的检测与恢复 如果系统不愿意附加太多的约束来预防死锁,也不希望系统额外开销预测并避免死锁,那么只能允许死锁的发生,但能在适当时间检测出来,并设法进行恢复。死锁检测算法通常针是检测否存在进程的循环链。 资源分配图 凡属于E中的一个边e∈E,都连接着P中的一个结点和R中的一个结点,e={pi, rj}是资源请求边,由进程pi指向资源rj,它表示进程pi请求一个单位的rj资源。e={rj, pi}是资源分配边,由资源rj指向进程pi, 它表示把一个单位的资源rj分配给进程pi。 NO:* 第四章 操作系统 4.2 处理器管理 查找图中非孤立进程结点Pi,其全部请求能够满足,说明它能得到需要的所有资源,顺利向前推进,直至最后完成,并释放所有

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档