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

112009操作系统第11讲:第3章进程管理(续5死锁).ppt

112009操作系统第11讲:第3章进程管理(续5死锁).ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 操作系统第11讲 第3章 进程管理 (续5, 进程死锁) 主讲:闫新庆 2012 – 03 * * 第3章 进程管理 内容提纲 3.1 认识进程前的准备 3.2 进程的概念与描述 3.3 进程状态及其转换 3.4 进程控制 3.5 进程互斥与同步 3.6 进程通信 3.7 死锁问题 3.8 银行家算法 3.9 线程与超级线程 ●本章小结 ●习题 * * 3.7 进程死锁 一、什么是死锁 所谓死锁,并发进程在推进过程中,彼此等待对方所拥有的资源,作为继续执行的条件;并且,在未得到对方的资源之前不会释放自己所拥有的资源。从而造成彼此都想得到资源而又都得不到资源,使各并发进程不能继续向前推进。 ●若一个进程集合中的每一个进程都在等待本集合中的另一个进程引发的事件,该现象称之为死锁现象。 图3.22 死锁的概念 P1 P2 S1 S2 拥有S1 拥有S2 P1要求S2 要求S1 * * 3.7 进程死锁 ●死锁的进一步描述: ◆ 有并发进程P1,P2,…,Pn, 共享资源R1,R2,…,Rm(n0,m0,n=m) ◆其中,每个Pi(1≤i≤n)拥有资源Rj(1 ≤j ≤m),直到不再有剩余资源。同时,各Pi又在不释放Rj 的前提下要求得到 Rk(k≠j,1 ≤k≤m), ◆从而造成资源的互相占有和互相等待。在没有外力驱动的情况下,该组并发进程停止往前推进,陷入永久等待状态。 * * 3.7 进程死锁 ●以生产者/消费者问题为例,解读死锁的概念 ◆生产者——申请并获得资源者。 ◆消费者——释放资源者。 ◆进程同步与进程互斥问题的一种抽象。 ◆举例:计算进程(生产者),打印进程(消费者)。 ◆P84 的3.14题目,“哲学家就餐问题”,请注意这是考验的重要题目类型,必须解决。 ● P62:生产者/消费者 问题解读 * * 3.7 进程死锁 二、资源分类 1.不可剥夺资源 指可重复的资源。如CRT、PRT。该类资源在使用中,具有不可中断的特征。指令级原语不可中断。 2.可剥夺资源。 临时使用,使用后会立即释放,如CPU、内存等。优先级高的进程可以剥夺已占有资源的进程。并令其退出或阻塞。 * * 3.7 进程死锁 三、死锁原因 1.资源不满足(根本原因) 2. 竞争不可剥夺资源引起的死锁。 R1 申请 占有 申请 占有 R2 P2 P1 P1 占有 R2 ,同时又申请R1; P2 占有 R1 ,同时又申请R2占有P1, P1、P2在未得到申请资源之前,不释放已占有的资源。从而形成死锁。 * * 3.7 进程死锁 三、死锁原因(续…) 3. 进程推进顺序不当引起死锁(同步)问题 P1保持资源 R1,P2 保持资源 R2 ,继续申请对方已占有资源有可能发生死锁 四、产生死锁的必要条件 1. 互斥条件, 已分配资源的进程具有排他性 2. 请求和保持条件 进程至少占有(保持)一个资源,但又提出了(申请)新的资源要求,此时自己请求阻塞,但不保持资源不变。 * * 3.7 进程死锁 四、产生死锁的必要条件(续) 3. 不可剥夺条件 已使用的资源在未使用完之前,不能被剥夺(即不能中断), 只能在完成时自我释放。 4. 环路条件 相关进程申请资源与占有的资源形成一种封闭环路条件,只要破坏一个,即能破坏死锁 * * 3.7 进程死锁 五、 处理死锁的4种策略 1. 忽略或满足其资源要求 2. 检测并恢复 3. 谨慎对待资源的动态分配 4. 破坏构造死锁条件及预防死锁 * * 3.7 进程死锁 六、 死锁的预防与避免 1、预防死锁,采用某种策略,限制并发进程对资源的请求,使系统在执行时,死锁发生的条件不满足。 (1)摒弃和保持条件在足够的资源一次性地分配给所需进程,方法简单,但不会发生死锁,缺陷是实际上不可能,资源浪费大。 (2)摒弃不可剥夺条件 某进程申请资源时,要放弃原来的资源,可以解除死锁。缺陷是实现复杂,付出代价太大,增加了系统开销,减少并发进程。 * * 3.7 进程死锁 (3)摒弃环路条件将资源依序编号线性排列。所构成的资源分配图不存在环路,缺陷是容易造成资源的闲置。如:一个进程同时占有磁盘与打印机。若先写磁盘,则会造成打印机的闲置。 2、避免死锁途径是指系统分配资源时,根据资源使用的情况提前做出预测,通过适当的方法,避免死锁的发生。但是,为实现“避免死锁”分析,需要占用系统较大的开锁。 系统为进程分配资源时,若未采用任何限制措施,则系统必须提供检测和解除手段,因此系统必须保存资源有关请求和分配信息,提供相应算法,以检测进程是否进入死锁状态。 * * 3.7 进程死锁 1.解除死

文档评论(0)

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

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

1亿VIP精品文档

相关文档