- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章死锁与饥饿.ppt-操作系统.ppt
第五章 死锁与饥饿 死锁与饥饿 死锁: indefinite wait. 饥饿: not necessarily in wait state. 死锁和饥饿都是由于进程竞争资源而引起的 . 5.1 死锁的概念 死锁定义 一组进程中的每一个进程,均无限期地等待此组进程中某个其他进程占有的,因而永远无法得到的资源,这种现象称为进程死锁。 由定义得到的结论 几个有用的结论: 参与死琐的进程至少有二个; 每个参与死锁的进程均等待资源; 参与死锁的进程中至少有两个进程占有资源; 死锁进程是系统中当前进程集合的一个子集。 5.3 死锁的条件 必要条件 资源独占(mutual exclusion) 不可抢占(non preemption) 保持申请(hold-while-applying) 循环等待(circular wait) 破坏上述任意一个条件可以消除死锁。 5.4 死锁的处理 死锁预防(deadlock prevention)-静态 死锁避免(deadlock avoidance)--动态 死锁检测(deadlock detection) 死锁恢复(deadlock recovery) 5.5 资源分配图 5.5 资源分配图 例子(无环路,无死锁) 例子(有环路,有死锁) 例子(有环路,无死锁) 5.6 死锁预防 对进程有关资源的活动加限制,所有进程遵循这种限制,即可保证没有死锁发生。 优点:简单,系统不需要做什么。 缺点:对进程的约束,违反约束仍可能死锁。 预防方法: 预先分配法; 有序分配法。 5.6.1 预先分配法 进程:运行前申请所需全部资源; 系统: 能够满足,全部分配, 否则,一个也不分配。 破坏“hold-and-wait”条件 缺点: 资源利用效率低; 一次提出申请困难。 5.6.2 有序分配法 例子 例子 例子 5.7 死锁避免 银行家算法(Cont.) 银行家算法(Cont.) 资源分配 安全性检测算法 银行家算法例子 银行家算法例子 银行家算法的保守性 银行家算法的保守性 5.8 死锁的检测 5.8.1 死锁检测算法 死锁例子 5.8.2 死锁检测时刻 5.9 死锁的恢复 5.10 鸵鸟算法 视而不见 Pro: 工程师观点 死锁发生频率其它故障引起的系统瘫痪的频率 死锁处理constant overhead 危害 Cont: 数学家观点:必须处理,无论代价如何 目前系统实际如此 Eg. UNIX proc结构(50 and up) 5.12 饥饿与饿死 饥饿:没有时间上界的等待 排队等待 忙式等待 饿死:等待时间超过极限(deadline) 饿死 vs 死锁 死锁进程处于等待状态,饿死不然 死锁可以检测,饿死不然 5.13 死锁的例子 过河问题 过河问题 过河问题 过河问题 例2. 过河问题(2) 过河问题: 水 流 1 2 n-1 n … West East W-E E-W Deadlock prevention: one direction at any time. Var west_crossing,east_crossing:integer; (0,0) west_wait, east_wait:integer; (0,0); wq, eq: semaphore; mutex:semaphore; 西面过河者活动: P(mutex); If east_crossing0 Then Begin west_wait:=west_wait+1; V(mutex); P(wq) End; Else Begin west_crossing:=west_crossing+1; V(mutex) End; 过河; P(mutex); west_crossing:=west_crossing-1; If west_crossing=0 Then While east_wait 0 Do Begin east_wait:=east_wait-1; east_crossing:=east_crossing+1; V(eq); End; V(mutex); * 软件教研室 例子: r1 和 r2为可再用资源; P1: a
您可能关注的文档
最近下载
- 2025中新天津生态城管委会面向社会公开招聘党务指导员3人笔试模拟试题及答案解析.docx VIP
- 四川省普通国省干线公路养护工程设计(咨询)指南.pdf VIP
- 2025“人工智能+”教育行业应用白皮书.pdf VIP
- 铅富氧侧吹还原炉开炉生产实践.doc VIP
- 2025年部编人教版(统编新教材)初中语文八年级上册教学计划及进度表.docx
- 新建LNG加气站运营管理方案与实施策略.docx VIP
- 标准田字格A4纸空白打印版10页.pdf VIP
- 第四单元 声之交响 课件高二上学期音乐人音版(2019)必修2 歌唱.pptx VIP
- 猎聘2025年Q3招聘调研报告.pdf VIP
- 高中校园足球活动与体育教学改革的融合探讨教学研究课题报告.docx
文档评论(0)