现代操作系统第3章死锁.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《现代操作系统第3章死锁.ppt》由会员分享,可在线阅读,更多相关《现代操作系统第3章死锁.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、死锁第3章1 1 3.1.资源 3.2.死锁概述 3.3.驼鸟算法 3.4.死锁检测和死锁恢复 3.5.死锁避免 3.6.死锁预防 3.7.其他问题死锁的概念:可能死锁我需要A和B道我需要B和C道我需要C和B道我需要D和A道发生死锁停止直到B可以通车停止直到C可以通车停止直到D可以通车停止直到A可以通车资源一些独占性资源一些独占性资源 打印机打印机 磁带磁带 系统内部表中的表项系统内部表中的表项进程需要一个合理的顺序去访问资源进程需要一个合理的顺序去访问资源假设一个进程拥有资源假设一个进程拥有资源 A A 并请求资源并请求资源 B B 同时另一个进程拥有同时另一个进程拥有B B 并请求并请求A
2、 A 两个进程都被阻塞两个进程都被阻塞,并且一直处于这样的状态并且一直处于这样的状态4 4资源(1)死锁有可能出现,当进程对设备、文件等取得了排他性访问权时进程对设备、文件等取得了排他性访问权时我们把这类需要排他性使用的对象称为资源我们把这类需要排他性使用的对象称为资源resourcesresources可抢占资源可以从拥有它的进程中抢占而不会产生任何副作可以从拥有它的进程中抢占而不会产生任何副作用用不可抢占资源指在不引相关的计算失败的情况下,无法把它从指在不引相关的计算失败的情况下,无法把它从占有它的进程处抢占过来占有它的进程处抢占过来5 5进程推进顺序不当产生死锁进程程P请求求读卡机卡机请
3、求打印机求打印机释放放读卡机卡机释放打印机放打印机进程进程Q请求请求打印机打印机请求读卡机请求读卡机释放读卡机释放读卡机释放打印机释放打印机PV操作使用不当产生死锁进程程Q1.P(S1)P(S2).使用使用r1和和r2V(s1)V(s2)进程进程Q2.P(S2)P(S1).使用使用r1和和r2V(s2)V(s1)同类资源分配不当若系若系统中有中有m个个资源被源被n个个进程共享,程共享,当每个当每个进程都要求程都要求K个个资源,而源,而mn*k时,即,即资源数小于源数小于进程所要求的程所要求的总数数时,如果分配不得当就可能引起死如果分配不得当就可能引起死锁例如,例如,m=5 n=5 k=2,分配
4、策略,分配策略为每每个个进程程轮流分配,首先第一次每个流分配,首先第一次每个进程程都分配一个,在第二都分配一个,在第二轮分配分配时就会出就会出现死死锁资源(2)使有一人资源所需要的事件顺序可以用抽象的形式表示如下:1.请求资源请求资源2.使用资源使用资源3.释放资源释放资源 若请求资源不可用,则请求进程被迫等待请求进程可能被阻塞请求进程可能被阻塞资源请求返回一个错误代码资源请求返回一个错误代码1010死锁的概述形式化定义形式化定义:如果一个进程集合中的每个进程都在等待只能由该进程集合中如果一个进程集合中的每个进程都在等待只能由该进程集合中的其他进程才能引发的事个,那么该进程集合就是死锁的其他进
5、程才能引发的事个,那么该进程集合就是死锁在大多数情况下,每个进程所等待的事件是释放该进在大多数情况下,每个进程所等待的事件是释放该进程集合中其他进程所占有的资源程集合中其他进程所占有的资源没有一个进程可以没有一个进程可以 运行运行 释放资源释放资源 被唤醒被唤醒1111死锁的正式定义假假设1:任意一个:任意一个进程要求程要求资源的最大数量不超源的最大数量不超过系系统能提供的最大量能提供的最大量假假设2:如果一个:如果一个进程在程在执行中所提出的行中所提出的资源要源要求能求能够得到得到满足,那么,它一定能在有限的足,那么,它一定能在有限的时间内内结束束假假设3:一个:一个资源在任何源在任何时间最
6、多只有一个最多只有一个进程程所占有所占有假定假定4:一个:一个进程一次申程一次申请一个一个资源,且只在申源,且只在申请资源得不到的源得不到的满足足时才才处于等待状于等待状态。(即不。(即不考考虑人工干人工干预,等,等 待外待外设的情况)的情况)死锁的正式定义假定假定5:一个:一个进程程结束束时释放它占有的全部放它占有的全部资源源假定假定6:系:系统具有有限个具有有限个进程和有限个程和有限个资源源定定义:如果一个:如果一个进程集合中的每个程集合中的每个进程都在等待程都在等待只能由只能由该集合中的其他一个集合中的其他一个进程才能引程才能引发的事件,的事件,则称一称一组进程或系程或系统此此时发生了死
7、生了死锁。竞争资源引起进程死锁可剥可剥夺和和非剥非剥夺性性资源源竞争非剥争非剥夺性性资源源竞争争临时性性资源源永久性永久性资源:可以被多个源:可以被多个进程多次使用程多次使用(可再用(可再用资源)源)1.可可抢占占资源源2.不可不可抢占占资源源临时性性资源:只可使用一次的源:只可使用一次的资源;如信源;如信号量号量,1.中断信号,同步信号等(可消耗性中断信号,同步信号等(可消耗性资源)源)2.“申申请-分配分配-使用使用-释放放”模式模式死锁的四个条件1.1.互斥条件互斥条件 每个资源要么已经分配给了一个进程,要么就是可用每个资源要么已经分配给了一个进程,要么就是可用的的2.2.占有和等待条件
8、占有和等待条件 已经得到了某个资源的进程可以再请求新的资源已经得到了某个资源的进程可以再请求新的资源3.3.不可抢占条件不可抢占条件 已经分配给一个进程的资源不能强制性地被抢占,它已经分配给一个进程的资源不能强制性地被抢占,它只能被占有它的进程显式地释放只能被占有它的进程显式地释放4.4.环路等待条件环路等待条件 一定有由两个或两个以上的进程组成的一条环路一定有由两个或两个以上的进程组成的一条环路 该环路中的每个进程都在等待着下一个进程所占有的该环路中的每个进程都在等待着下一个进程所占有的资源资源1515死锁建模(2)有向图建模(资源分配图)有向图建模(资源分配图)资源资源 R R 分配给进程
9、分配给进程A A 进程进程B B 请求或等待资源请求或等待资源S S 进程进程 C C和和D D为得到资源为得到资源T T 和和U U处于死锁处于死锁1616死锁建模(3)处理死锁的策略1.1.忽略问题忽略问题2.2.检测并恢复检测并恢复3.3.动态避免动态避免 仔细对资源分配仔细对资源分配4.4.防止防止 破坏引起死锁的四个必要条件之一破坏引起死锁的四个必要条件之一1717死锁建模(4)死锁是如何发生的1818A B C死锁建模(5)死锁是如何避免的1919(o)(p)(q)驼鸟算法假装根本没有问题发生可以接受,如果如果死锁发生频率低如果死锁发生频率低防止死锁的成本太高了防止死锁的成本太高了
10、UNIX 和Windows 采用此算法它是下面两者的折衷 方便性方便性正确性正确性2020每种类型一个资源的死锁检测(1)注意资源的所属和请求关系注意资源的所属和请求关系如果图中包含一个或一个以上的环,那么死锁就存在如果图中包含一个或一个以上的环,那么死锁就存在2121资源分配图化简化简:一个进程的所有资源要求均能被满足,则该进化简:一个进程的所有资源要求均能被满足,则该进程得到其所需全部资源从而不断取得进展,直至完成程得到其所需全部资源从而不断取得进展,直至完成全部任务并释放出全部资源。全部任务并释放出全部资源。在有向图中找到既非阻塞又非孤立的结点,分配在有向图中找到既非阻塞又非孤立的结点,
11、分配它所需的全部资源后,当它继续执行并完成然后它所需的全部资源后,当它继续执行并完成然后释放其全部资源而使之成为孤立结点。释放其全部资源而使之成为孤立结点。把孤立结点释放的资源分配给阻塞进程,使之能把孤立结点释放的资源分配给阻塞进程,使之能继续运行,并且在有限时间后完成,再释放其全继续运行,并且在有限时间后完成,再释放其全部资源而成为新的鼓励结点。部资源而成为新的鼓励结点。经过一系列上述步骤,若能消去图中所有的边,经过一系列上述步骤,若能消去图中所有的边,使所有进程都成为孤立结点,则图可完全化简。使所有进程都成为孤立结点,则图可完全化简。否则为不可完全化简。否则为不可完全化简。死死锁定理:当且
12、定理:当且仅当系当系统某状某状态S所所对应的的资源分配源分配图是不可化是不可化简的,的,则S是是死死锁状状态。而不可被化。而不可被化简的的进程即是被程即是被死死锁的的进程。反之,若状程。反之,若状态S所所对应的的资源分配源分配图是可化是可化简的,的,则S是安全状是安全状态。资源分配源分配图的化的化简结果与化果与化简顺序无关,序无关,最最终结果是相同的果是相同的每种类型多个资源的死锁检测(2)死锁检测算法的数据结构死锁检测算法的数据结构2424每种类型多个资源的死锁检测(3)死锁检测算法的例子死锁检测算法的例子2525从死锁中恢复(1)利用抢占恢复将某一资源从一个进程强行取走给另一个进将某一资源
13、从一个进程强行取走给另一个进程使用程使用取决于该资源本身的特性。取决于该资源本身的特性。利用回滚恢复周期性对进程进程进行检查点检查周期性对进程进程进行检查点检查使用检查点保存资源状态使用检查点保存资源状态如果发现死锁回滚进程如果发现死锁回滚进程2626从死锁中恢复(2)通过杀死进程恢复最直接也是最简单的解决死锁的方法最直接也是最简单的解决死锁的方法杀掉环中的一个进程杀掉环中的一个进程环外的进程释放其资源环外的进程释放其资源杀死可以从头开始重新运行而且不会带来副作用杀死可以从头开始重新运行而且不会带来副作用的进程的进程2727资源轨迹图替代方案3.5.2 产生死锁的必要条件互斥互斥:竞争的争的资
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 操作系统 死锁
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内