版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 8 章 进程死锁死锁的概念死锁产生的原因死锁的必要条件死锁预防死锁避免死锁检测与解除死锁现象n引例:系统中有两个进程P1、P2,两份资源S1、S2,目前状况是:S1P1S2P2死锁现象进程P1拥有资源S1,进程P2拥有资源S2,但他们都在不放弃已拥有资源的情况下,申请对方所占有的资源。呈现:P1和P2相互等待对方资源的现象。死锁:系统中的一组进程,每一个进程都在等待另一个进程所占有的资源,使系统处于无限期的等待状态。死锁产生的原因资源分配不合理进程推进速度不合理。著名的哲学家问题:哲学家问题每个人必须同时拿到两根筷子才能吃到面条。如果每个人都拿到了一根筷子,就永远吃不到面条了。考虑:哲学家
2、之间是什么关系?如何用信号量和PV原语实现他们之间的制约关系?注意:死锁讨论的范畴不属于讨论的范畴进程申请了不存在的资源申请资源最大数超过了系统拥有的最大数硬件故障或程序性错误引起的循环等待假定:任何一个进程要求资源的最大数不超过系统提供最大数量申请资源得到满足,一定在有限时间内完成只有在申请资源得不到满足时才处于等待状态死锁存在的必要条件资源的互斥使用资源的不可抢占占有并等待资源的部分分配)资源的循环等待。S1 S2P1P2资源分配图用有向图来表示进程对资源的占有情况。顶点:进程,资源边:如果一个进程已经占有了一份资源,则画一条指向进程的边。如果一个进程申请一份资源,则画一条指向资源的边。如
3、果同一份资源有多个,则用顶点中的圆点数表示。 P1P2P3r1r2r3r4资源分配图用资源分配图判断死锁如果没有环路,则一定没有死锁如果有环路,且环路中资源类只有一个资源,则有死锁。如果有环路,但环路中资源类有多个资源,则不一定有死锁。例 题假定某系统当时的资源分配图如下所示:(1分析当时系统是否存在死锁。(2若进程P3再申请R3时,系统将发生什么变化,说明原因。死锁的防止原理:打破死锁存在的四个必要条件之一。互斥条件:不能人为打破。占有并等待:措施一:资源的静态分配。在进程运行前,将进程所需要的所有资源分配给进程,且在整个进程运行过程中,进程所占有资源不能被其他进程使用。释放已占资源死锁的防
4、止不可抢夺允许抢占:资源尚未占用;进程处在等待状态只有处理器、主存资源可以抢占循环等待:资源的按序分配。将资源编号,紧缺资源的编号大,充裕资源的编号小。只有低编号的资源得到满足后,才能分配高编号资源。打破了资源的循环等待。按序分配的例哲学家问题n将叉子编号,F1、F2、F3、F4、F5n P1: P2: P3:nL: PF1) L: PF2) L: PF3)n PF2) PF3) PF4)n 吃面 吃面 吃面n VF1) VF2) VF3)n VF2) VF3) VF4)n GOTO L GOTO L GOTO L按序分配的例哲学家问题 P4: P5:L: PF4) L: PF1) PF5)
5、PF5) 吃面 吃面 VF4) VF1) VF5) VF5) GOTO L GOTO L 8. 4 死锁避免n资源的动态分配:允许根据用户需求分配资源,但每次分配之前都要检查系统是否安全,如果不安全,即使有资源,也不能分配给进程。n安全的含义:如果系统中存在着一个进程序列,使所有的进程都能够运行结束,则称系统是安全的。否则是不安全的。n如何判断系统是否安全?“不安全与死锁的区别“不安全并不一定发生死锁死锁状态集是不安全状态集的子集 不安全状态死锁状态银行家算法-基本思想一个用户对资金的最大需求量不超过银行家现有的资金用户可以分期贷款,但贷款总数不能超过最大需求量可以推迟支付,但总能在有限的时间
6、内让用户得到贷款当用户得到所需全部资金后,一定能在有限的时间内归还银行家算法-原理当进程首次申请资源时:测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量,则按申请分配,否则推迟分配。执行过程中申请:先测试已占用的资源数与本次申请的资源数之和是否超过该进程对资源的最大需求量再测试系统现存的资源能否满足该进程尚需的最大资源量银行家算法-数据结构系统中总的资源进程运行所需的最大资源数已经分配的资源数 P还需要申请的资源数 R银行家算法-过程准备:计算系统中的剩余资源F;计算进程请求资源R(1找到一个进程Pi,满足Ri=Ri,则说明系统不安全。(5若所有进程都能够运行结束,则系统
7、安全。例 题教材P240 例1银行家算法的应用实例 现有三个进程P1、P2、P3,共享A、B、C三类资源,进程对资源的需求量和目前分配情况如下表: 进程 已占有资源数 最大需求数 A B C A B C P1 2 6 3 2 6 5 P2 2 0 1 2 0 1 P3 2 1 0 2 8 5若系统还有剩余资源分别为:A类2个,B类6个,C类2个。请回答下列问题:(1) 目前系统是否处于安全状态?(2如果进程P3提出申请0,5,2个资源,系统是否能为它分配资源? 问题1:步骤一:计算和 系统当前的空闲资源为:(2,6,2)进程要运行结束,还需请求的资源为: 进 程 A B C P1 0 0 2
8、P2 0 0 0 P3 0 7 5步骤二:是否存在进程序列n由于P2不需要申请更多的资源,可以运行结束,释放它占有的资源2,0,1),空闲资源变为:(4,6,3)。n空闲资源满足P1的资源要求,P1运行结束,释放它占有的资源2,6,3),空闲资源变为:(6,12,6)。n空闲资源满足P3的资源请求,P3可以运行结束。n系统中的进程能在有限时间内全部运行结束21 3),所以系统是安全的。问题2:n假设可以为进程P3分配它申请的资源0,5,2),则系统当前状况是:n空闲资源F为:(2,1,0)n进程要运行结束,还需请求的资源R为:n 进 程 A B Cn P1 0 0 2n P2 0 0 0n P
9、3 0 2 3是否存在进程序列:n进程P2运行,释放它所占有的资源2,0,1),系统空闲资源变为:(4,1,1)。n由于空闲资源不能满足系统中任一进程的资源请求,进程P1和P3陷入无限期等待,系统出现死锁。n所以,系统不能为P2分配资源。银行家算法-基本公式系统中资源数m个并发进程数:n个每个进程申请该类资源的最大数:x1xm)若满足:n*(x-1)+1m 1 m n时X= 1+(m-1)/n mn时8. 5 死锁检测如果每次分配资源,都需要做一次银行家算法,系统效率会非常低。假设:系统中发生死锁的可能性很小,因而,没有必要每次都检查系统是否安全,只需定期检查以下系统是否存在死锁就可以了。当进
10、程请求资源时,若系统中有资源,就分配给进程。如何检测系统是否死锁?死锁检测算法n原理:是否存在资源的循环等待?n资源状态图:n用有向图来表示进程对资源的占有情况。n顶点:进程,资源n边:如果一个进程已经占有了一份资源,则画一条指向进程的边。n如果一个进程申请一份资源,则画一条指向资源的边。n如果同一份资源有多个,则用顶点中的圆点数表示。 P1P2P3r1r2r3r4资源状态图死锁判定法则n如果资源分配图中没有环路,则系统没有死锁。n如果资源分配图中出现了环路,则系统可能存在死锁。n如果处于环路中的每个资源类中均包含一个资源实例,则意味着死锁的存在。n如果处于环路中的每个资源类中包含的资源实例个
11、数不全为1,则环路的存在是必要条件。死锁的检测方法每类资源中只有一个资源占用表:资源 占用进程等待表:进程 等待资源见P242 表8-8)判断是否有循环等待的进程等待占有关系与间接等待占有关系等待占有关系矩阵见P243 表8-9) 当矩阵中有某个Biii=1,2,n)=1时,说明存在循环等待死锁的检测方法资源类中含有若干个资源按银行家算法检测例题1)进程资源的使用情况和可用情况如下表所示:(四个进程和三类资源)(1请画出资源分配图。 (2分析目前系统中是否会发生死锁。死锁解除n战略:n重新启动系统撤消所有进程)n剥夺资源法n逐一终止进程n选择哪些进程剥夺资源或终止?-最小代价原则:n一个例子:甲、乙两个人,过一个独木桥最小代价原则甲乙1、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年科研档案保密合同
- 2026年家电维修技术合同
- 房产中介服务合同2026年买卖代理协议
- 2026年家政阿姨兼职合同协议书
- 2026年环保技术合作合同协议
- 汽车修理厂承包合同
- 家用电工技术
- 家用物品安全课件
- 宇通重工安全培训课件
- 安全培训讲师课时费课件
- 钢材采购合同的范本
- 伯克利-利特温(组织绩效与变革因果关系)组织诊断+模型案例、工具解析
- 传染病相关医疗设备与器械的操作与维护
- 售后服务流程管理手册
- 2020-2021学年新概念英语第二册-Lesson14-同步习题(含答案)
- 混凝土构件的配筋计算
- 国家开放大学《政治学原理》章节自检自测题参考答案
- GB/T 5758-2023离子交换树脂粒度、有效粒径和均一系数的测定方法
- 防雷装置维护保养制度
- 中医治疗“膏淋”医案67例
- 黄金冶炼行业三废处理综述
评论
0/150
提交评论