- 1、本文档共118页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
处理机调度与死锁PPT
3.5.1 产生死锁的原因 一个操作系统基本上是一个资源管理者,它负责分配不同类型的资源给进程使用。 系统中的资源分两类: 可剥夺性资源—指资源占有进程虽然需要使用该资源,但另一个进程却能强行把资源从占有者进程处抢来。 不可剥夺性资源—指只有占用者进程不再需要使用该资源而主动释放资源外,其它进程不得在占有者进程使用资源过程中强行抢占。 1. 资源 资源 可剥夺:CPU、主存、硬盘,该资源可为几个进程共同使用。 不可剥夺:打印机、读卡机、磁带驱动器,该资源为某个进程独享。 永久性资源和临时性资源: 永久性资源——可顺序重复使用的资源:如打印机; 临时性资源——由一个进程产生,被另一进程使用一短暂时间后便无用的资源:如消息,故也称之为消耗性资源。 竞争资源(不可剥夺性、临时性) 当系统中供多个进程共享的资源不足时,将引起进程对资源的竞争而产生死锁。 进程推进顺序不合理 进程在运行过程中具有异步性特征,如果它们之间的请求和释放资源的顺序不当,也同样会导致进程产生死锁。 2. 死锁产生的根本原因 (1) 竞争资源产生的死锁: 请求边 分配边 进程 资源 进程 资源 请求边 分配边 请求边 分配边 进程 进程 请求边 分配边 (打印机) (磁带机) … … … 生产出一产品; P( empty ) P( mutex ) 将产品放入缓冲区; V( mutex ) V( full ) … … … (2) 进程推进顺序不合理产生的死锁: 例1:生产者—消费者问题中,若PV操作使用不当,把生产者进程两个P操作次序互换,先执行P(mutex),后执行P(empty),则会引起死锁。 … … … P( full ) P( mutex ) 从缓冲区取出产品; V( mutex ) V( empty ) 消费该产品; … … … 生产者 消费者 例2: P1: … Request(R1); … Request(R2); … Release(R1); … Release(R2); … P2: … Request(R2); … Request(R1); … Release(R2); … Release(R1); … P 2 Rel(R 1 ) P 2 Rel(R 2 ) P 2 Req(R 1 ) P 2 Req(R 2 ) P 1 Req(R 1 ) P 1 Req(R 2 ) P 1 Rel(R 1 ) P 1 Rel(R 2 ) ① ② ③ ④ D 3.5.2 产生死锁的必要条件 四个必要条件: 互斥条件:涉及的资源是非共享的。 请求和保持条件:进程在等待一新资源时继续占有已分配的资源。 不剥夺条件:不能强行剥夺进程拥有的资源。 环路等待条件:存在一种进程的循环链,链中的每一个进程已获得的资源同时被链中的下一个进程所请求。 以上四个条件须同时具备。 3.5.3 处理死锁的基本方法 (1) 预防死锁: 通过设置某些限制条件,去破坏死锁四个必要条件中的一个或多个,来防止死锁。 较易实现,广泛使用,但由于所施加的限制往往太严格,可能导致系统资源利用率和系统吞吐量的降低。 (2) 避免死锁: 不事先采取限制去破坏产生死锁的条件,而是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免死锁的发生。 实现较难,只需要较弱的限制条件,可获得较高的资源利用率和系统吞吐量。 事先并不采取任何限制,允许发生死锁,但可以通过系统的检测机构及时检测出死锁的发生,并精确确定与死锁有关的进程和资源。 (3) 检测死锁: 与检测死锁相配套,用于将进程从死锁状态解脱出来。 常用的方法是撤消或挂起一些进程。以回收一些资源,再将它们分配给处于阻塞状态的进程,使之转为就绪状态。 实现难度大,但可获得较好的资源利用率和系统吞吐量。 (4) 解除死锁: 3.6 死锁的预防和避免 3.6.1 预防死锁 3.6.2 避免死锁 3.6.3 利用银行家算法避免死锁 1. 摒弃“请求和保持”条件 系统要求所有进程在开始运行之前,要一次性地申请在整个运行过程中所需的全部资源。若系统有足够资源则完全分配;否则,进程等待。 3.6.1 预防死锁 优点:简单、易于实现且安全。 基本思想:打破产生死锁的四个必要条件中的一个或几个。 缺点: 实用性不强:在许多情况下,一个进程在执行之前不可能知道它所需要的全部资源。这是由于进程在执行时是动态的,不可预测的; 资源利用率低:无论所分资源何时用到,一
您可能关注的文档
- 古典家具发展史PPT.ppt
- 只有一个儿子PPT.ppt
- 句法模式识别PPT.ppt
- 古诗两首 一年级下册PPT.ppt
- 变量数学PPT.ppt
- 可编程接口芯片及应用PPT.ppt
- 古诗两首-二年级下册语文PPT.ppt
- 古诗词三首 - 五年级下册PPT.ppt
- 可行性研究PPT.ppt
- 可视化程序设计PPT.ppt
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)