- 5
- 0
- 约 107页
- 2017-07-16 发布于北京
- 举报
3.5 死锁的检测和恢复 在实际情况下,通过预防和避免的手段达 到排除死锁的目的是很难的。一般提供死锁 检测与恢复的方法。 死锁检测与恢复是指系统设有专门的机构, 当死锁发生时,该机构能够检测到死锁发生 的位置和原因,且能通过外力破坏死锁发生 的必要条件,从而使并发进程从死锁状态中 解脱出来。 3.5.1 对单体资源类的死锁检测 等待图。它是从资源分配图中去掉表示资源类的节点,且把相应边折叠在一起得到的。 当且仅当等待图中有环路,系统存在死锁。 图3-8 资源分配图和对应的等待图 3.5.2 对多体资源类的死锁检测 等待图不适用于多体资源类的资源分配系统。下面 介绍检测算法采用若干随时间变化的数据结构,与 银行家算法中所用的结构相似。 ① Available是一个长度为m的向量,表示每类资源的可用数目。 ② Allocation是一个n×m的矩阵,表示当前分给每个进程的每类资源的数目。 ③ Request是一个n×m的矩阵,表示当前每个进程对资源的申请情况。 检测算法只是简单地调查尚待完成的各个进程所有可能的分配序列。 3.5.2 对多体资源类的死锁检测 ① 令Work和Finish分别表示长度为m和n的向量,初始化Work:=Available;对于i=1, 2,…, n,如果Allocationi≠0,则Finish[i]:=false;否则Finish[i]:=true。 ② 寻找一个下标i,它应满足条件: Finish[i]=false且Requesti≤Work 若找不到这样的i,则转到④。 ③ 修改数据值: Work:=Work+Allocationi Finish[i]=true 转向②。 ④ 若存在某些i(1≤i≤n),Finish[i]=false,则系统处于死锁状态。此外,若Finish[i]=false,则进程pi处于死锁环中。 3.5.2 对多体资源类的死锁检测 设系统中有5个进程p1, p2, p3, p4和p5,有3类资源R1, R2和R3 ,每类资源的个数分别为7, 2, 6。 Allocation Request Available R1 R2 R3 R1 R2 R3 R1 R2 R3 p1 0 1 0 0 0 0 0 0 0 p2 2 0 0 2 0 2 p3 3 0 3 0 0 0 p4 2 1 1 1 0 0 p5 0 0 2 0 0 2 表3-6 死锁检测示例资源分配情况 可以找到序列{p1, p3, p4, p2, p5},对于所有的i 都有Finish[i]=true,系统在T0时刻没有死锁。 资源情况 进程 假定,进程p3现在申请一个单位的R3资源,则系统资源分配情况如表3-7所示。 Allocation Request Available R1 R2 R3 R1 R2 R3 R1 R2 R3 p1 0 1 0 0 0 0 0 0 0 p2 2 0 0 2 0 2 0 0 0 p3 3 0 3 0 0 1 p4 2 1 1 1 0 0 p5 0 0 2 0 0 2 由于对所有i=1, 2,…, 5,Allocationi≠0,所以Finish[i]=false。 表3-7 p3申请一个单位的R3资源后的资源分配数据 资源情况 进程 3.5.3 从死锁中恢复 主要有三种方式: 通过抢占资源实现恢复、通过回退执行实现恢复和通过杀掉进程实现恢复。 1.通过抢占资源实现恢复 即临时性地把资源从当前占有它的进程那里拿过来,分给另外某些进程,直至死锁环路被打破。 3.5.3 从死锁中恢复 2.通过回退执行实现恢复 回退方法由系统管理员做出安排,定期对系统中各个进程进行检查,并将检查点的有关信息(如进程状态、资源状态等)写入文件。 当检测到死锁时,就让某个占有必要资源的进程回退到它取得另外某个资源之前的一个检查点。回退过程所释放的资源分配给一个死锁进程,然后重新启动运行。 系统中应保存一系列检查点的文件。 要确定这个进程后退多远。 还有一种“全体”回退方式。 3.5.3 从死锁中恢复 3.通过杀掉进程实现恢复 终止所有的死锁进程。 一次终止一个进程,直至消除死锁环路。 3.5.4 “饥饿”状态 在某些策略下,系统会出现这样一种情况:在可以预计的时间内,某个或某些进程永远得不到完成工作的机会,因为它们所需的资源总是被别的进程占有或抢占。这种状况称做“饥饿”或者“饿死”(Starvation)。 饥饿不同于死锁。 3.6 处理死锁的综合方式 把以前介绍的基本方法组合起来,使得系统中各级资源都以最优的
您可能关注的文档
- 第九课走进社会主义市场经济.ppt
- 第九课长江与黄河.ppt
- 第九课预防一般违法行为.ppt
- 第九课:人大代表的责任.ppt
- 第九课:变幻多彩的地球词语.ppt
- 第九课:第1框:和平与发展时代主题.ppt
- 第九课:维护世界和平促进共同发展(2014第一轮何树勇).ppt
- 第九课:西欧和日本经济的发展.ppt
- 第九课:走进社会主义市场经济.ppt
- 第二、三次课:二章.ppt
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)