- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一个资源类型的多个实例 : Available :一个向量的长度m代表每一种资源类型有效的数目 Allocation: 一个n x m 的矩阵定义了当前分配的每一种资源类型的实例数目 Request: :一个n x m 的矩阵表明了当前的进程请求。如果Request[ij]=k,那么进程Pi请求k个资源Rj的实例 检测算法 1. 让Work和Finish作为长度为m和n的向量初始化 (a) Work := Available (b) For i = 1,2, …, n, if Allocationi ? 0, then Finish[i] := false;otherwise, Finish[i] := true. 2. 找到满足下列条件的下标i (a) Finish[i] = false (b) Requesti ? Work 如果没有这样的i存在,转4 3. Work := Work + AllocationiFinish[i] := true转 2. 如果有一些i, 1 ? i ? n , Finish[i] = false, 则系统处在死锁状态。而且, 如果 Finish[i] = false, 则进程 Pi 是死锁的。 算法需要m x n2 次操作来判断是否系统处于死锁状态 检测算法的例子 五个进程Pn到P4,三个资源类型A(7个实例),B(2个实例),C(6个实例) 时刻Tn的状态 Allocation Request Available A B C A B C A B C P0 0 1 0 0 0 0 0 0 0 P1 2 0 0 2 0 2 P2 3 0 3 0 0 0 P3 2 1 1 1 0 0 P4 0 0 2 0 0 2 对所有i,序列 P0, P2, P3, P1, P4 将导致Finish[i] = true。 例子(续) P2请求一个额外的C实例 Request A B C P0 0 0 0 P1 2 0 1 P2 0 0 1 P3 1 0 0 P4 0 0 2 系统的状态? 可以归还Pn所有的资源,但是资源不够完成其他进程的请求 死锁存在,包括进程P1,P2,P3和P4 检测算法的用法 何时及多长时间的调用取决于 死锁可能发生的频度 有多少进程可能需要被回滚 每一个独立的环需要一个 如果检测算法被随意的调用,可能图中存在很多的环以至于我们无法判断是哪一个进程引起了死锁的发生 从死锁中恢复:进程终止 中断所有的死锁进程 一次中断一个进程直到死锁环消失 应该选择怎样的中断顺序? 进程的优先级 进程需要计算多长时间,以及需要多长时间结束 进程使用的资源 进程完成还需要多少资源 多少个进程需要被中断 进程是交互的还是批处理 从死锁中恢复:资源优先级 选择一个:最小化代价 回退:返回到安全的状态,然后重新开始进程 饥饿:同样进程的可能总是被选中 综合死锁处理方式 把三种方式组合起来 预防 避免 检测 允许使用优化的方式来使用系统中的资源 把资源划分为不同的等级 对每一类使用适当的技术来处理死锁 6.* Silberschatz, Galvin and Gagne ?2005 Operating System Concepts – 7th Edition, Feb 8, 2005 编写:李培峰 内容 死锁问题 系统模型 死锁特征 处理死锁的方法 预防死锁 死锁避免 死锁检测 死锁恢复 死锁问题 一组等待的进程,其中每一个进程都持有资源,并且等待着由这个组中其他进程所持有的资源 例如 系统有两个磁带设备 进程P1和P2各占有一个磁带设备并且实际需要两个磁带 信号量A,B初始化为1 P1 P2 wait (A); wait(B) wait (B); wait(A) 过桥的例子 只能一个方向通行 桥的每一个部分都可以看成资源 如果死锁发生,它可以由一辆车返回而解决,抢占资源并回退 如果死锁发生,可能很多车都不得不返回 有可能产生饥饿 系统模型 资源类型 R1, R2, . . ., Rm CPU周期,内存空间,I/O设备 每一种资源Ri 有Wi 种实例 每一个进程通过如下方法来使用资源 申请 使用 释放 死锁的特性 互斥:一次只有一个进程可以使用一个资源 占有并等待:一个至少持有一个资源的进程等待获得额外的由其他进程所持有的资源 不可抢占:一个资源只有当持有它的进程完成任务后,自由的释放 循环等待:等待资源的进程之间存在环 {P0, P1, …, P0} P0 等待P1占有的资源, P1等待P2占有的资源, …, Pn–1等待Pn占有的资源, P0等待Pn占有的资源 四个条
您可能关注的文档
- JAVA程序设计第4章.ppt
- JAVA程序设计第5章.ppt
- JAVA程序设计第6章.ppt
- JAVA程序设计第9章.ppt
- JAVA程序设计第10章.ppt
- JAVA程序设计第11章.ppt
- JAVA程序设计第12章.ppt
- 武汉大学计算机学院linux复习题.doc
- Linux原理及应用——专题0:Shell实例 .ppt
- Linux原理与应用——专题2:Makefile.ppt
- 2024年少先队员入队申请书汇编(14篇).pdf
- 2025年春国开新疆开放大学《护理学》本科毕业实践手册.doc
- AP计算机科学原理 2021年题库 (选择题+问答题) AP Computer Science Principle 2021 Released Exam and Answers (MCQ+FRQ).pdf
- AP统计学 2019年真题 (选择题+问答题) AP Statistics 2019 Real Exam and Answers (MCQ+FRQ).pdf
- AP预备微积分 2024年题库 (选择题+问答题) AP Pre-Calculus 2024 Released Exam and Answers (MCQ+FRQ).pdf
- AP物理2 2019年真题 (选择题+问答题) AP Physics 2 2019 Real Exam and Answers (MCQ+FRQ).pdf
- AP生物 2020年题库第三套题目 (选择题+问答题) AP Biology 2020 Released Exam and Answers (MCQ+FRQ) Bank 3.pdf
- AP环境科学 2020年题库第一套题目 (选择题+问答题) AP Environmental Science 2020 Released Exam and Answers Bank 1.pdf
- AP物理1 2019年真题 (选择题+问答题) AP Physics 1 2019 Real Exam and Answers (MCQ+FRQ).pdf
- AP生物 2020年题库第一套题目 (选择题+问答题) AP Biology 2020 Released Exam and Answers (MCQ+FRQ) Bank 1.pdf
最近下载
- 《城镇排水管道检测与评估技术规程》.pdf VIP
- 统编版《道德与法治》六年级下册第8课《科技发展 造福人类》精品课件(含视频).pptx
- 2025年党支部书记学习教育专题党课中央八项规定专题党课讲稿(严守中央八项规定精神,争做新时代合格党员;从中央八项规定精神看党员干部的责任与担当).docx VIP
- 3.3 探秘澜沧江—湄公河流域的河流地貌课件高中地理鲁教版(2019)必修一.pptx
- GB50666-2011混凝土结构工程施工规范.doc VIP
- 现代畜牧业发展理论与实践(畜牧业发展历程).ppt VIP
- 座便器检验报告.pdf
- 线上音乐特色作业说民乐-奏民乐设计.docx VIP
- QB∕T 5362-2019 玻璃器皿单位产品能源消耗限额(可复制版).pdf
- TCESA 1177-2021 非结构化数据应用分级要求.pdf VIP
文档评论(0)