操作系统死锁.ppt
《操作系统死锁.ppt》由会员分享,可在线阅读,更多相关《操作系统死锁.ppt(62页珍藏版)》请在第壹文秘上搜索。
1、1提提 纲纲死锁的检测和解除死锁的检测和解除四四死琐的概念和资源分配图死琐的概念和资源分配图一一产生死琐的原因和必要条产生死琐的原因和必要条件件二二死锁的预防和避免死锁的预防和避免三三2死锁的概念和资源分配图死锁现象与例子死锁现象与例子资源分配图资源分配图死锁的定义与结论死锁的定义与结论死锁与竞争饥饿关系死锁与竞争饥饿关系3 死锁现象死锁现象(以过桥为例以过桥为例)1.死锁现象与例子死锁现象与例子4n 申请不同类型资源申请不同类型资源A设系统有一台打印机设系统有一台打印机(R1)(R1)一台扫描仪一台扫描仪(R2)(R2),两进程共享,两进程共享这两台设备。这两台设备。P1:申请打印机申请打印
2、机申请扫描仪申请扫描仪使用使用释放打印机释放打印机释放扫描仪释放扫描仪P2:申请扫描仪申请扫描仪申请打印机申请打印机使用使用释放打印机释放打印机释放扫描仪释放扫描仪n 申请相同类型资源,如内存申请相同类型资源,如内存1.死锁现象与例子死锁现象与例子5一个结点集合一个结点集合N和边集合和边集合E结点结点N被分为两个互斥子集被分为两个互斥子集进程结点子集进程结点子集P = P1, P2, , Pn资源结点子集资源结点子集R = R1, R2, , RmN=P R=P1, P2, , Pn R1, R2, , Rm圆圈圆圈表一进程,表一进程,方框方框表一类资源,其数目由表一类资源,其数目由方框中的小
3、圆圈数表示方框中的小圆圈数表示边边E 请求边请求边:直接直接Pi Rj ,即即e=(Pi , Rj )分配边分配边:Pi Rj 即即e= (Rj , Pi )进程进程有三个资源有三个资源Pi 请求一个请求一个RjPi 持有一个持有一个Rj2.资源分配图(资源分配图(Resource Allocation Graph)6 死锁:指死锁:指多个进程多个进程因因竞争共享资源竞争共享资源而造成的一种而造成的一种僵局僵局,若无外力作用,这些进程都将永远不能再向前推进。若无外力作用,这些进程都将永远不能再向前推进。R1R2P1P23.死锁的定义与结论死锁的定义与结论7 注意:注意:参与死锁的进程数至少为参
4、与死锁的进程数至少为2参与死锁的所有进程均等待资源参与死锁的所有进程均等待资源参与死锁的进程是系统中当前正在运行进程参与死锁的进程是系统中当前正在运行进程的一部分。的一部分。3.死锁的定义与结论死锁的定义与结论8相同点:二者都是由于竞争资源而引起的。相同点:二者都是由于竞争资源而引起的。差别:差别:(1) 从进程状态考虑,死锁进程都处于等待状态,忙式等待从进程状态考虑,死锁进程都处于等待状态,忙式等待(处于运行或就处于运行或就绪状态绪状态)的进程并非处于等待状态,但却可能被饿死;的进程并非处于等待状态,但却可能被饿死;(2) 死锁进程等待永远不会被释放的资源,饿死进程等待会被释放但却不死锁进程
5、等待永远不会被释放的资源,饿死进程等待会被释放但却不会分配给自己的资源,表现为等待时限没有上界会分配给自己的资源,表现为等待时限没有上界(排队等待或忙式等待排队等待或忙式等待);(3) 死锁一定发生了循环等待,而饿死则不然。这也表明通过资源分配图死锁一定发生了循环等待,而饿死则不然。这也表明通过资源分配图可以检测死锁存在与否,但却不能检测是否有进程饿死;可以检测死锁存在与否,但却不能检测是否有进程饿死;(4) 死锁一定涉及多个进程,而饥饿或被饿死的进程可能只有一个。死锁一定涉及多个进程,而饥饿或被饿死的进程可能只有一个。(5)在饥饿的情形下,系统中有至少一个进程能正常运行,只是饥饿进程在饥饿的
6、情形下,系统中有至少一个进程能正常运行,只是饥饿进程得不到执行机会。而死锁则可能会最终使整个系统陷入死锁并崩溃。得不到执行机会。而死锁则可能会最终使整个系统陷入死锁并崩溃。饥饿饥饿是指在预计时间内,某个或某些进程是指在预计时间内,某个或某些进程永远得不到完成工作的机会,因为他们所永远得不到完成工作的机会,因为他们所需的资源总是被别的进程占有或抢占。这需的资源总是被别的进程占有或抢占。这种状况称作种状况称作“饥饿饥饿”或者或者“饿死饿死”(Starvation)。)。4.死锁竞争饥饿死锁竞争饥饿9 竞争是指两个以上进程以显式或隐式方式共享资源的状态。竞争是指两个以上进程以显式或隐式方式共享资源的
7、状态。 死锁与竞争是多道程序一对必然状态死锁与竞争是多道程序一对必然状态 竞争是资源共享的正常现象,系统有能力协调,有利于提高竞争是资源共享的正常现象,系统有能力协调,有利于提高资源的利用率。资源的利用率。 死锁是资源共享的异常现象,会浪费大量系统资源,甚至系死锁是资源共享的异常现象,会浪费大量系统资源,甚至系统崩溃,它是竞争处理不妥造成的。统崩溃,它是竞争处理不妥造成的。4.死锁竞争饥饿死锁竞争饥饿10死锁产生的原因和必要条件资源的分类资源的分类产生死锁的原因产生死锁的原因产生死锁的必要条件产生死锁的必要条件11根据资源本身的性质根据资源本身的性质可剥夺资源可剥夺资源:如主存、:如主存、CP
8、U不可剥夺资源不可剥夺资源:如驱动器、打印机等:如驱动器、打印机等 根据资源使用期限根据资源使用期限永久性资源永久性资源:可再次使用,如所有硬件。:可再次使用,如所有硬件。临时性临时性资源资源:消耗性的资源,如消息、信:消耗性的资源,如消息、信号和数据号和数据1.资源分类资源分类12 竞争资源竞争资源 当系统中供多个进程所共享的资源不足以同当系统中供多个进程所共享的资源不足以同时满足它们的需要时,引起它们对资源的竞时满足它们的需要时,引起它们对资源的竞争而产生死锁;争而产生死锁; 进程推进顺序非法进程推进顺序非法 进程在运行过程中,请求和释放资源的顺序进程在运行过程中,请求和释放资源的顺序不当
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 死锁