《现代操作系统》PPT课件

《现代操作系统》PPT课件

ID:38956930

大小:2.01 MB

页数:30页

时间:2019-06-22

《现代操作系统》PPT课件_第1页
《现代操作系统》PPT课件_第2页
《现代操作系统》PPT课件_第3页
《现代操作系统》PPT课件_第4页
《现代操作系统》PPT课件_第5页
资源描述:

《《现代操作系统》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、死锁主要内容一、死锁产生二、死锁处理三、分布式死锁处理技术一、死锁产生死锁的基本概念如果一个进程集合中的每个进程都在等待只能由该组进程中的其他进程才能引发的事件,那么,该组进程是死锁的。死锁的起因竞争资源进程推进顺序不当(非资源死锁)P1和P2并发执行,按下述顺序推进:P1Req(R1);PlReq(R2);P1Rel(R1);P1Rel(R2);P2Req(R2);P2Req(R1);P2Rel(R1);P2Rel(R1);两个进程可顺利完成。称这种不会引起进程死锁的推进顺序是合法的。R1R2P1P2进程推进顺序不当(非资源死

2、锁)P1和P2并发执行,按下述顺序推进:P1Req(R1);P2Req(R2);P1Rel(R2);P2Rel(R1);……两个进程不可顺利完成。称这种引起进程死锁的推进顺序是非法的。死锁的基本概念如果一个进程集合中的每个进程都在等待只能由该组进程中的其他进程才能引发的事件,那么,该组进程是死锁的。一、死锁产生死锁的条件1.互斥条件每个资源要么已经分配给了一个进程,要么可用。2.占有和等待条件已经得到了某个资源的进程可以再请求新的资源。3.不可抢占条件已经分配给一个进程的资源不能强制性地被抢占,它只能被占有它的进程显式地释放。4

3、.环路等待条件死锁发生时,系统中一定有由两个或两个以上的进程组成的一条环路,该环路中的每个进程都在等待着下一个进程所占有的资源。二、死锁处理有四种处理死锁的策略忽略——鸵鸟算法2.让死锁发生,检测它们是否发生;一旦发生,采取行动解决——死锁检测和恢复3.仔细分配资源,动态地避免死锁——死锁避免4.破坏引起死锁的四个条件之一,防止死锁产生——死锁预防1.鸵鸟算法如果死锁平均每5年发生一次,而每个月系统都会因为硬件故障、编译器错误或者操作系统故障而崩溃一次,那么大多数工程师不会以性能损失和可用性的代价去防止死锁。大多数操作系统(如U

4、NIX和Windows)处理这一问题的办法是忽略它,因为解决死锁的代价通常很大,给进程带来诸多不便,而多数用户宁可在极偶然情况下产生死锁,也不愿受很多不便限制。大多数操作系统潜在地受到了死锁的威胁,但这些死锁从来没有被检测到过,理所当然地自动解除了。2.死锁检测和死锁恢复对资源的分配不加任何限制,也不采取死锁避免措施,但系统定时地运行一个“死锁检测”程序,判断系统内是否已出现死锁,如果检测到系统已发生了死锁,再采取措施解除它每种类型一个资源的死锁检测常借助资源分配图;每种类型多个资源的死锁检测常基于矩阵RASWUTVCFDBGE

5、资源进程较好算法见(Even,1979)2.死锁检测和死锁恢复一种具体的死锁检测方法,检测算法步骤如下:1)currentavail=available;2)如果allocation[k,*]!=0,令finish[k]=false;否则finish[k]=true;3)寻找一个k,它应满足条件:(finish[k]==false)&&(request[k,*]<=currentavail[*]);若找不到这样的k,则转向5);4)修改currentavail[*]=Currentavail[*]+allocation[k,*]

6、;finish[k]=true;然后转向3);5)如果存在k(1≤k≤n),finish[k]=false,则系统处于死锁状态,并且finish[k]=false的Pk为处于死锁的进程。简化进程-资源分配图检测系统是否处于死锁状态如果能在进程-资源分配图中消去此进程的所有请求边和分配边,成为孤立结点。经一系列简化,使所有进程成为孤立结点,则该图是可完全简化的;否则则称该图是不可完全简化的。系统为死锁状态的充分条件是:当且仅当该状态的进程-资源分配图是不可完全简化的。该充分条件称为死锁定理。2.死锁检测和死锁恢复利用抢占恢复临时将

7、某个资源从它的当前所有者那里转移到另一个进程(对运行在大型主机上的批处理操作系统来说,要人工干预)比较困难;可行与否取决于资源本身特性;挂起进程的选择取决于哪个进程拥有较易收回的资源利用回退恢复根据系统保存的检查点,让所有进程回退,直到足以解除死锁。进程检查点中应包括存储映像,资源状态,及资源的分配情况等这种措施要求系统建立保存检查点、回退及重启机制;当进程执行时,一系列检查点文件被累积2.死锁检测和死锁恢复通过杀死进程恢复杀掉环中的一个进程或选一个环外的进程作为牺牲品以释放该进程资源。杀掉环中进程的最坏情况是逐个撤销陷于死锁的

8、进程并回收其资源重新分派,直至死锁解除;杀掉环外进程时,该进程应正好持有环中某些进程所需的资源。杀死进程在第二次运行时可能是不安全的(如数据库的更新进程),故最好杀死可以从头开始运行不会带来副作用的进程3.死锁避免避免死锁的主要算法是基于安全状态的概念。所谓安全

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

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

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