Chapter-06(死锁)
第三章死 锁 3.1. 资源 3.2. 死锁概述 3.3. 鸵鸟算法 3.4. 死锁检测和死锁恢复 3.5. 死锁避免 3.6. 死锁预防 3.7. 其他问题 资源计算机资源实例打印机磁带机表进程必须以一个合理的顺序获得设备假设一个进程拥有资源A同时申请资源B同一时刻另一个进程拥有资源B申请资源A两个进程都会被阻塞,而且这种状况会持续下去独占性设备 资源 (1)可抢占性资源(preemptable resources)可以从拥有它的进程中抢占而不会产生任何副作用不可抢占性资源(nonpreemptable resources)如果从拥有它的进程中抢占将引起相关计算的失败资源 (2)使用一个资源所需要的事件顺序请求资源使用资源释放资源 若请求资源失败,进程将会自动被阻塞通常会处于一个小循环中:请求资源,睡眠,再请求资源请求失败,系统会返回一个错误代码死锁概述规范定义 :如果一个进程集合中的 每个进程都在等待只能由该进程集合中的其他进程才能引发的事件,那么该进程集合时死锁的。所谓的事件是释放该进程集合中其他进程所占有的资源进程集合中没有任何一个进程会。。。运行释放资源被唤醒发生死锁的四个必要条件互斥条件每个资源要么已经分配给了一个进程,要么就是可用的占有和等待已经得到了某个资源的进程可以再申请新的资源不可抢占条件已经分配给一个进程的资源不能强制性被抢占,它只能被占有它的进程显示地释放环路等待条件死锁发生时,系统中一定有由两个或两个以上的进程组成的一条环路,该环路中的每一个进程都在等待下一个进程所占有的资源 死锁建模 (1)采用有向图建立资源分配图进程A占有一个资源进程B请求一个资源死锁死锁建模 (2)A B C一个死锁是如何产生的例子死锁建模 (3)(o) (p) (q)一个死锁是如何避免的例子死锁建模 (4)四种处理死锁的策略忽略该问题检测死锁并恢复仔细对资源进行分配,动态地避免死锁 通过破坏引起死锁的四个必要条件之一,防止死锁的产生 鸵鸟算法假装根本没有问题发生如果以下假设成立,这种方法是合理的 死锁发生的可能性很小 预防死锁会付出很大的代价大多数的工程师不会以性能损失和可用性的代价去防止死锁每种类型一个资源的死锁检测 (1)资源分配图从a中抽取的环每种类型多个资源的死锁检测 (2)死锁检测算法所需的四种数据结构每种类型多个资源的死锁检测(3)死锁检测算法的一个例子从死锁中恢复 (1)通过抢占恢复在某些情况下,可能会临时将某个资源从它当前所有者那里转移到另一个进程该方法是否可行取决于该资源本身的特性通过回滚恢复周期性地对进程进行检查点检查该方法就是将进程的状态写入一个文件以备以后重启 一旦检测到死锁,重新从一个较早的检查点开始重新启动进程从死锁中恢复 (2)通过杀死进程恢复杀掉一个进程杀掉死锁环中一个进程选择一个环外的进程作为牺牲品以释放该进程的资源 最好选择可以从头开始重新运行而且不会带来副作用的进程死锁避免资源轨迹图死锁不安全两个进程的资源轨迹图安全状态和不安全状态 (1)(a) (b) (c) (d) (e)说明 (a) 中的状态为安全状态安全状态和不安全状态(2) (b) (c) (d) 说明 b 中的状态为不安全状态单个资源的银行家算法(a) (b) (c)三种资源分配状态安全安全不安全多个资源的银行家算法多个资源的银行家算法的例子总的资源量为:A为10、B为5、C为7序列P1, P3, P0, P2, P4保证系统在有限的时间内可收回所有资源死锁预防破坏互斥条件对于一些设备可以采用假脱机技术 (例如打印机)只有打印机的守护程序可以使用打印机不会因打印机而产生死锁不是所有的设备都能够采用假脱机技术原理:避免分配那些不是绝对必需的资源尽量做到尽可能少的进程可以真正申请资源破坏占有且等待条件规定所有进程在开始执行前申请请求所需的全部资源进程不会因为中途申请资源而出现等待出现问题很多进
您可能关注的文档
最近下载
- 光宝ISA-7X标准泛用型伺服系统技术手册.pdf
- 小学四年级奥数《排列与组合》基础知识讲解+专项练习题+参考答案.docx
- 《0~3岁婴幼儿心理发展与教育》项目三 婴幼儿认知发展 教学课件.pptx VIP
- T_GDSBME 001-2026(儿童标准化可弯曲支气管镜诊疗中心建设).pdf
- 中考历史【选择题】专练(8大题型+80道预测题).docx VIP
- 中医诊断学的病案分析.ppt VIP
- 2025年信息系统安全专家漏洞修复的回滚计划与应急预案专题试卷及解析.pdf VIP
- 2025年招标师招标采购合同违约责任认定与承担方式纠纷专题试卷及解析.pdf VIP
- 能源计量数据可信验证中的边缘-云协同架构.pdf VIP
- 2025年演出经纪人艺人推广中口碑营销与舆论引导策略专题试卷及解析.pdf VIP
原创力文档

文档评论(0)