操作系统第五章死锁与饥饿ppt培训课件

操作系统第五章死锁与饥饿ppt培训课件

ID:16284002

大小:566.50 KB

页数:69页

时间:2018-08-08

操作系统第五章死锁与饥饿ppt培训课件_第1页
操作系统第五章死锁与饥饿ppt培训课件_第2页
操作系统第五章死锁与饥饿ppt培训课件_第3页
操作系统第五章死锁与饥饿ppt培训课件_第4页
操作系统第五章死锁与饥饿ppt培训课件_第5页
资源描述:

《操作系统第五章死锁与饥饿ppt培训课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章死锁与饥饿死锁的概念死锁的条件死锁的处理资源分配图死锁的预防死锁的避免死锁的发现死锁的恢复饥饿与活锁[学习目标]1.掌握死锁的定义,死锁的条件,死锁的处理以及处理死锁的算法——银行家算法。2.理解资源分配图。[学习要点]本章的重点在于掌握死锁的处理方法,会用银行家算法计算是否发生死锁。第五章死锁与饥饿一个进程需要使用独占型资源必须有一定的次序:申请资源使用资源释放资源1968年Havender在评论OS/360操作系统时说:“原先多任务的概念是让多个任务不加限制的竞争资源,……但是随着系统的发展,很多任务被锁在系

2、统中了。”1971年Lynch说:“1962年我们设计Exec2系统时并没有认识到死锁的问题,系统中也没有任何防范措施,结果现在一些程序中已被锁在系统中了。”死锁产生的原因和必要条件死锁现象5.1死锁产生的原因1、进程推进顺序不当产生死锁。设系统有打印机、读卡机各一台,它们被进程P和Q共享。两个进程并发执行,它们按下列次序请求和释放资源:进程P进程Q请求读卡机请求打印机请求打印机请求读卡机释放读卡机释放读卡机释放打印机释放打印机例2:R1和R2为可再用资源;进程Q1和Q2共享两个资源R1和R2。s1和s2分别代表资源R

3、1和R2能否被使用的信号量,由于R1和R2是共享的,必须使用互斥。因而s1和s2的初值为1。假定两个进程都要求使用两个资源,它们的程序如下:进程Q1:P(s1)P(s2)使用R1和R2V(s1)V(s2)进程Q2:P(s2)P(s1)使用R1和R2V(s2)V(s1)5.1死锁产生的原因2、PV操作使用不当产生死锁5.1死锁产生的原因3、同类资源分配不当引起死锁若系统中有m个资源被n个进程共享,当每个进程都要求k个资源。而m

4、k=2,采用的分配策略是为每个进程轮流分配。5.1死锁产生的原因4、进程通讯引起死锁在进程通讯时使用的信件可以看作是一种临时性资源,如果对信件的发送和接收不加限制的话,则可能引起死锁例4:进程p1等待进程p3的信件s3来到后再向进程p2发送信件s1;p2又要等待p1信件来到后再向p3发送信件s2;而p3也要等待p2的信件s2来到后才能发出信件s35.2死锁定义一组进程中的每一个进程,均无限期地等待此组进程中某个其他进程占有的,因而永远无法得到的资源,这种现象称为进程死锁。几个有用的结论:参与死琐的进程至少有二个;每个参

5、与死锁的进程均等待资源;参与死锁的进程中至少有两个进程占有资源;死锁进程是系统中当前进程集合的一个子集。5.3死锁的条件Coffman条件(必要条件)资源独占(mutualexclusion)又称为互斥条件,一个资源在同一时刻只能分配给一个进程。任一时刻一个资源仅为一个进程独占,若另一个进程请求一个已被占用的资源时,它被置成等待状态,直到占用者释放资源。不可剥夺(nonpreemption)任一进程不能从另一进程那里抢夺资源,即已被占用的资源,只能由占用进程自己来释放。保持申请(hold-while-applying)

6、又叫占有和等待条件,一个进程请求资源得不到满足而等待时,不释放已占有的资源。循环等待(circularwait)又叫环路等待条件,存在一个循环等待链,其中,每一个进程分别等待它前一个进程所持有的资源,造成永远等待。破坏上述任意一个条件可以消除死锁。5.4死锁的处理死锁预防(deadlockprevention)-静态通过设置某些限制条件,去破坏产生死锁的4个必要条件中的一个或几个条件,来防止死锁发生。死锁避免(deadlockavoidance)--动态不需事先采取各种限制措施去破坏产生死锁的必要条件,而是在资源的动态

7、分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁。5.4死锁的处理死锁检测(deadlockdetection)这种方法预先并不采取任何限制措施,也不检查系统是否已经进入不安全区,此法允许系统在运行过程中发生死锁。但可通过系统设置的检测机构,及时地检测出死锁的发生,并精确的确定与死锁有关的进程和资源;然后采取适当的措施,从系统中将已发生的死锁清除掉。死锁恢复(deadlockrecovery)这是与检测死锁相配套的一种措施,用于将进程从死锁状态下解脱出来,常用的实施方法是撤销或挂起一些进程,以便收回一些

8、资源,再将这些资源分配给已处于阻塞状态的进程,使之转为就绪状态以继续运行。5.5资源分配图定义:G=(V,E),V=PR,P={p1,p2,…,pn},R={r1,r2,…,rm},E={(pi,rj)}{(rj,pi)},piP,rjR.申请边(pi,rj):pi申请rj;分配边(rj,pi):rj分配pi;图示:进程:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。