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

操作系统教程(第6版)课件6.14 死锁的产生.pptx

操作系统教程(第6版)课件6.14 死锁的产生.pptx

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

掌握死锁的概念

理解集中死锁产生的例子

理解死锁解决的三个方法计算机操作系统6并发程序设计–6.6死锁6.6.1死锁的产生

死锁的产生允许多个进程并发执行共享系统资源时,系统必须提供同步机制和进程通信机制然而,对这种机制使用不当的话,可能会出现进程永远被阻塞的现象例如,两个进程分别等待对方占有的一个资源,于是两者都不能执行而处于永远等待,这种现象称为“死锁”

死锁的定义一组进程处于死锁状态是指:每一个进程都在等待被另一个进程所占有的、不能抢占的资源。例如,存在n个进程P1,P2,…,Pn进程Pi因为申请不到资源Ri而处于等待状态而Ri又被Pi+1占有,Rn被P1占有显然,这n个进程的等待状态永远不能结束,这n个进程就处于死锁状态

死锁的产生(例1)例1竞争资源产生死锁。设系统有打印机、读卡机各一台,它们被进程P和Q共享。两个进程并发执行,它们按下列次序请求和释放资源:进程P----进程Q-----请求读卡机请求打印机请求打印机请求读卡机…………释放读卡机释放读卡机释放打印机释放打印机

死锁的产生(例2)例2PV操作使用不当产生死锁进程Q1进程Q2………………P(s1);P(s2);P(s2);P(s1);………………使用r1和r2;使用r1和r2;………………V(s1);V(s2);V(s2);V(s1);………………

死锁的产生(例3)例3同类资源分配不当引起死锁若系统中有m个资源被n个进程共享,当每个进程都要求K个资源,而mn·(K-1)+1时,如果分配不得当就可能引起死锁例如,m=5,n=5,k=2,采用的分配策略是为每个进程轮流分配。首先,为每个进程轮流分配一个资源,这时,系统中的资源都已分配完了;于是第二轮分配时,各进程都处于等待状态,导致了死锁

死锁的产生(例4)例4对临时性资源使用不加限制引起死锁在进程通信时使用的信件可以看作是一种临时性资源,如果对信件的发送和接收不加限制的话,则可能引起死锁比如,进程P1等待进程P3的信件S3来到后再向进程P2发送信件S1;P2又要等待P1的信件S1来到后再向P3发送信件S2;而P3也要等待P2的信件S2来到后才能发出信件S3。在这种情况下就形成了循环等待,永远结束不了,产生死锁

解决死锁问题的三个方法综合上面的例子,产生死锁的因素不仅与系统拥有的资源数量有关,而且与资源分配策略,进程对资源的使用要求以及并发进程的推进顺序有关可从三个方面来解决死锁问题:死锁防止死锁避免死锁检测和恢复

文档评论(0)

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

计算机二级持证人

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

领域认证该用户于2024年11月02日上传了计算机二级

1亿VIP精品文档

相关文档