第三章 处理机调度与死锁汇.ppt

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

高响应比优先调度算法 (HRRN) 高响应比优先调度算法 (HRRN) 基于时间片的轮转调度算法 基于时间片的轮转调度算法 5进程 基于时间片的轮转调度算法 死锁deadlock * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 图 3-18 为P0分配资源后的有关资源数据 ④进行安全性检查,此时系统进入不安全状态,故系统不分配资源给P0 。 3.6 死锁的检测和解除 3.6.1 死锁的检测 1.资源分配图 p1 p2 凡属于E中的一个边e∈E,都连接着P中的一个结点和R中的一个结点,e={pi, rj}是资源请求边,由进程pi指向资源rj, 它表示进程pi请求一个单位的rj资源。e={rj, pi}是资源分配边,由资源rj指向进程pi, 它表示把一个单位的资源rj分配给进程pi。 3.6 死锁的检测和解除 2.死锁定理 简化资源分配图 若能完全简化则消去所有的边。 定理:死锁状态的充分条件,资源分配图不可完全简化 2. 死锁定理 图 3-20 资源分配图的简化 3.6 死锁的检测和解除 3. 死锁检测中的数据结构 (1) 可利用资源向量Available,它表示了m类资源中每一类资源的可用数目。 (2) 把不占用资源的进程(向量Allocation∶=0)记入L表中, 即Li∪L。 3.6 死锁的检测和解除 (3) 从进程集合中找到一个Requesti≤Work的进程,做如下处理:① 将其资源分配图简化,释放出资源,增加工作向量Work∶=Work+Allocationi。 ② 将它记入L表中。 (4) 若不能把所有进程都记入L表中, 便表明系统状态S的资源分配图是不可完全简化的。 因此,该系统状态将发生死锁。 3.6 死锁的检测和解除 Work ∶=Available; L∶={Li|Allocationi=0∩Requesti=0} for all Li  L do begin for all Requesti≤Work do begin Work∶=Work+Allocationi; Li∪L; end end deadlock∶ = ~ (L={p1, p2, …, pn}); 3.6 死锁的检测和解除 检测死锁的算法: 3.6.2 死锁的解除 剥夺资源。 (2) 撤消进程。 解 除 检测到死锁后,回退到上一状态(要进行资源剥夺,且需保存以前状态的分配信息),重新分配,若不行,继续回退……, * * * * * * * * * * * * * * * * * * * * * * 图 3-13 进程之间通信时的死锁 2、进程推进顺序不当引起死锁。 3.4 产生死锁的原因 图 3-14 进程推进顺序对死锁的影响 3.4.2 产生死锁的必要条件 1.互斥条件(资源的临界性) 2.请求和保持条件 3.不剥夺条件 4.环路等待条件 3.4.3 处理死锁的基本方法 1.预防死锁:破坏4个条件之一:有效,使资源利用率低。 2.避免死锁:防止进入不安全态。 3.检测死锁:检测到死锁再清除。 4.解除死锁:与“检”配套。 3.5 死锁预防和避免 3.5.1 预防死锁 1、互斥条件是资源固有属性,不能避免。 2、摒弃请求和保持条件 全分配,全释放(AND) 缺点:(1)延迟进程运行 (2)资源严重浪费 3、摒弃“不剥夺”条件 增加系统开销,且进程前段工作可能失效。 3.5 死锁预防和避免 3.5.1 预防死锁 4、摒弃“环路等待”条件 有序资源分配法:为资源编号,申请时需按编号进行。 缺点: (1)新增资源不便,(原序号已排定) (2)用户不自由 (3)资源与进程使用顺序不同造成浪费 3.5.2 系统的安全状态 在“避免死锁”方法中的判断条件 1. 安全状态 是指系统能按某种进程顺序(P1, P2, …,Pn)(称〈P1, P2, …, Pn〉序列为安全序列),来为每个进程Pi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。 能找到安全序列的状态为安全状态。 如果系统无法找到这样一个安全序列,则称系统处于不安全状态。 3.5.2 系统的安全状态(2)

文档评论(0)

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

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

1亿VIP精品文档

相关文档