《进程死锁》PPT课件

《进程死锁》PPT课件

ID:39161421

大小:239.51 KB

页数:39页

时间:2019-06-26

《进程死锁》PPT课件_第1页
《进程死锁》PPT课件_第2页
《进程死锁》PPT课件_第3页
《进程死锁》PPT课件_第4页
《进程死锁》PPT课件_第5页
资源描述:

《《进程死锁》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章进程死锁死锁的概念死锁产生的原因死锁的必要条件死锁预防死锁避免死锁检测与解除死锁现象引例:系统中有两个进程P1、P2,两份资源S1、S2,目前状况是:S1P1S2P2死锁现象进程P1拥有资源S1,进程P2拥有资源S2,但他们都在不放弃已拥有资源的情况下,申请对方所占有的资源。出现:P1和P2相互等待对方资源的现象。死锁:系统中的一组进程,每一个进程都在等待另一个进程所占有的资源,使系统处于无限期的等待状态。死锁产生的原因资源分配不合理进程推进速度不合理。著名的哲学家问题:哲学家问题每个人必须同时拿到两根筷子才能

2、吃到面条。如果每个人都拿到了一根筷子,就永远吃不到面条了。思考:哲学家之间是什么关系?如何用信号量和PV原语实现他们之间的制约关系?注意:死锁讨论的范畴不属于讨论的范畴进程申请了不存在的资源申请资源最大数超过了系统拥有的最大数硬件故障或程序性错误引起的循环等待假定:任何一个进程要求资源的最大数不超过系统提供最大数量申请资源得到满足,一定在有限时间内完成只有在申请资源得不到满足时才处于等待状态死锁存在的必要条件资源的互斥使用资源的不可抢占占有并等待(资源的部分分配)资源的循环等待。S1S2P1P2资源分配图用有向图来表

3、示进程对资源的占有情况。顶点:进程,资源边:如果一个进程已经占有了一份资源,则画一条指向进程的边。如果一个进程申请一份资源,则画一条指向资源的边。如果同一份资源有多个,则用顶点中的圆点数表示。•••••••P1P2P3r1r2r3r4资源分配图用资源分配图判断死锁如果没有环路,则一定没有死锁如果有环路,且环路中资源类只有一个资源,则有死锁。如果有环路,但环路中资源类有多个资源,则不一定有死锁。例题假定某系统当时的资源分配图如下所示:(1)分析当时系统是否存在死锁。(2)若进程P3再申请R3时,系统将发生什么变化,说明

4、原因。死锁的防止原理:打破死锁存在的四个必要条件之一。互斥条件:不能人为打破。占有并等待:措施一:资源的静态分配。在进程运行前,将进程所需要的所有资源分配给进程,且在整个进程运行过程中,进程所占有资源不能被其他进程使用。释放已占资源死锁的防止不可抢夺允许抢占:资源尚未占用;进程处在等待状态只有处理器、主存资源可以抢占循环等待:资源的按序分配。将资源编号,紧缺资源的编号大,充裕资源的编号小。只有低编号的资源得到满足后,才能分配高编号资源。打破了资源的循环等待。按序分配的例—哲学家问题将叉子编号,F1、F2、F3、F4、

5、F5P1:P2:P3:L:P(F1)L:P(F2)L:P(F3)P(F2)P(F3)P(F4)吃面吃面吃面V(F1)V(F2)V(F3)V(F2)V(F3)V(F4)GOTOLGOTOLGOTOL按序分配的例—哲学家问题P4:P5:L:P(F4)L:P(F1)P(F5)P(F5)吃面吃面V(F4)V(F1)V(F5)V(F5)GOTOLGOTOL8.4死锁避免资源的动态分配:允许根据用户需求分配资源,但每次分配之前都要检查系统是否安全,如果不安全,即使有资源,也不能分配给进程。安全的含义:如果系统中存在着一个进程序列

6、,使所有的进程都能够运行结束,则称系统是安全的。否则是不安全的。如何判断系统是否安全?“不安全”与死锁的区别“不安全”并不一定发生死锁死锁状态集是不安全状态集的子集不安全状态死锁状态银行家算法-基本思想一个用户对资金的最大需求量不超过银行家现有的资金用户可以分期贷款,但贷款总数不能超过最大需求量可以推迟支付,但总能在有限的时间内让用户得到贷款当用户得到所需全部资金后,一定能在有限的时间内归还银行家算法-原理当进程首次申请资源时:测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量,则按申请分配,否则

7、推迟分配。执行过程中申请:先测试已占用的资源数与本次申请的资源数之和是否超过该进程对资源的最大需求量再测试系统现存的资源能否满足该进程尚需的最大资源量银行家算法-数据结构系统中总的资源进程运行所需的最大资源数已经分配的资源数P还需要申请的资源数R银行家算法-过程准备:计算系统中的剩余资源F;计算进程请求资源R(1)找到一个进程Pi,满足Ri<=F(2)如果找到这样的进程,则将F=F+Pi(3)继续(1)(4)如果找不到一个进程,满足:F>=Ri,则说明系统不安全。(5)若所有进程都能够运行结束,则系统安全。例题教材P

8、240例1银行家算法的应用实例现有三个进程P1、P2、P3,,共享A、B、C三类资源,进程对资源的需求量和目前分配情况如下表:进程已占有资源数最大需求数ABCABCP1263265P2201201P3210285若系统还有剩余资源分别为:A类2个,B类6个,C类2个。请回答下列问题:(1) 目前系统是否处于安全状态?(2)如果进程P3提出申请(

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

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

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