网站大量收购独家精品文档,联系QQ:2885784924

操作系统完美课件第二章 进程管理.PPT

  1. 1、本文档共167页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 进程管理 第 * 页 第二章 进程管理 第 * 页 第二章 进程管理 第 * 页 第二章 进程管理 第 * 页 第二章 进程管理 第 * 页 第二章 进程管理 第 * 页 第二章 进程管理 第 * 页 第二章 进程管理 第 * 页 第二章 进程管理 第 * 页 第二章 进程管理 第 * 页 竞争非剥夺性资源 死锁通常与不可剥夺资源有关。涉及可剥夺资源的死锁通过在进程间重新分配资源,通常能够化解。所以,我们将重点放在对不可剥夺资源的处理上。 第二章 进程管理 第 * 页 进程通信引起死锁(竞争临时性资源) 第二章 进程管理 第 * 页 2) 进程推进顺序不当 获得A 获得B 释放A 释放B 获得B 获得A 释放B 释放A Q进程的进展 P进程的进展 1 2 3 4 5 6 水平段表示 P执行 垂直段表示Q执行 第二章 进程管理 第 * 页 2 死锁产生的必要条件 (1)互斥条件。指进程对所分配到的资源进行排它 性使用。每个资源是不可共享的,它或者已经分配给 一个进程,或者空闲。 (2)保持和等待条件。进程已保持了至少一个资源, 但又请求新资源,无时,阻塞等待,但又对已经分配 给它的资源保持不放。 (3)不剥夺条件。资源已获得,未用完不被剥夺, 用完时自己释放。 (4)循环等待条件。 存在一个进程循环链,链中有 二个或多个进程,每一个进程正在等待链中的下一个 成员保持的资源。 第二章 进程管理 第 * 页 3 解决死锁的方法 解决死锁的方法通常有以下几种: 忽略死锁:对于死锁不作任何处理; 假如系统中不允许死锁发生,通常有两种解决办法: 静态解决办法: 系统事先采取措施,对进程申请资源的要求加以限制,即预防死锁,使得死锁没有条件发生。 动态解决办法:在进程运行过程中提出资源申请时,系统加以检测,决定是否分配资源,即避免死锁。 假如系统中允许发生死锁,则需检测死锁是否发生,并在死锁发生时加以解除。 第二章 进程管理 第 * 页 1)鸵鸟算法(置之不理) 在系统中死锁出现的频率非常低,并且解决死锁的代价通常较大,故在有些系统中可以忽略死锁。该算法是解决死锁的最简单方法。即像鸵鸟一样,当遇到危险时,将头埋进沙子里,假装毫无问题。 例如UNIX系统,它潜在地存在死锁,但它并不花功夫去检测和解除死锁,而是忽略不去理它。 第二章 进程管理 第 * 页 2)死锁的预防——破坏死锁产生的必要条件 限制“互斥条件” 对于临界资源必须互斥访问,这是某些资源使用时所必须要求的,不能加以改变,所以不易有解决方案。 限制“请求与保持条件” 只要禁止已拥有资源的进程再申请其它资源,就可以消除死锁。 第二章 进程管理 第 * 页 一种实现方法是规定所有进程在开始执行前申请所需的全部资源,当所需资源全部可以使用时方可进行分配。这样,进程对资源的要求得到满足,它一定能够运行结束而释放已经占用的全部资源。只要有一种资源不能满足,则不进行分配,而将该进程阻塞。 另一种方案是当进程提出新的资源申请时,暂时释放当前已经占用的所有资源,只有当新的资源申请成功时,才收回其原先占用的资源。 第二章 进程管理 第 * 页 限制“非剥夺条件” 采用剥夺算法,可以预防死锁的发生。但是系统中的资源有些是可剥夺的,有些是不可剥夺的,如采用剥夺算法对于CPU与存储器是可行的,而对于打印机等资源则是不合适的,所以只能对系统中的一部分资源采用这种方法。 第二章 进程管理 第 * 页 破坏循环等待条件 将系统全部资源按类进行全局编号排序。进程对资源的请求必须按照资源的序号(递增或递减顺序)申请,这样,在资源分配图中就不会出现环路,使进程一直运行,而不出现死锁。 i j ij × 第二章 进程管理 第 * 页 3)死锁的避免 基本思想: 允许进程动态地申请资源,一次申请一部分资源。系统在进行资源分配之前,先计算资源分配的安全性。若此次分配不会导致系统进入不安全状态,便将资源分配给进程;否则,进程等待。 安全状态: 指系统能按某种顺序,如p1 , p2 , …, pn (安全序列),来为每个进程分配其所需资源,直至最大需求,使每个进程都可顺序完成。 第二章 进程管理 第 * 页 银行家算法: Available:可用资源向量。一个含有m个元素的数组,每个元素代表一类资源可用的数目。 Max:最大需求矩阵。n×m矩阵,Max(i,j)=k表示进程i 需要j类资源最大数目为k。 Allocation:分配矩阵。 n×m矩阵,Allocation(i,j)=k表示进程i当前已分得j类资源

文档评论(0)

文库创作者 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档