操作系统理论 第三章(处理机调度与死锁)—第八节(死锁的检测与解除)

写在前面:

  1. 本系列笔记主要以《计算机操作系统(汤小丹…)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
  2. 视频链接:操作系统(汤小丹等第四版)_哔哩哔哩_bilibili

一、死锁的检测

1、实现死锁检测的要求

        当系统为进程分配资源时,若未采取任何限制性措施,则系统必须提供检测和解除死锁的手段,为此系统必须:

        ①保存有关资源的请求和分配信息。

        ②提供一种算法,以利用这些信息来检测系统是否已进入死锁状态。

2、资源分配图

        系统死锁可利用资源分配图来描述,该图由表示进程的圆圈和表示一类资源的方框组成,其中方框中的一个点代表一个该类资源,请求边是由进程指向方框中的R_{j},而分配边则应始于方框中的一个点。

3、死锁定理

(1)可以利用资源分配图加以简化的方法,来检测系统处于某状态时是否为死锁状态。资源分配图简化方法如下:

①在资源分配图中找出一个既不阻塞又非独立的进程结点P_{i},在顺利的情况下运行完毕,释放其占有的全部资源,这相当于消去P_{i}的请求边和分配边,使之成为孤立的结点。

②由于释放了资源,其它被阻塞的进程可以获得资源继续运行。

③在经过一系列简化后若能消去图中的所有的边,使所有进程结点都孤立,则称该图是可完全简化的,反之是不可完全简化的。

(2)死锁定理指出:S状态为死锁状态的充分条件是当且仅当S状态的资源分配图是不可完全简化的

二、死锁的解除

        如果利用死锁检测算法检测出在系统中已发生了死锁,则应立即采取相应的措施,以解除死锁。

        常采用解除死锁的三种方法是:

        ①抢占资源。从一个或多个进程中抢占足够数量的资源,分配给死锁进程,以解除死锁状态。

        ②终止(或撤消)进程。终止(或撤消)系统中的一个或多个死锁进程,直至打破循环环路,使系统从死锁状态解脱出来。

        ③进程回退。让一个或多个死锁进程回退到足以避免死锁的地步,这要求系统记录进程的历史信息,设置还原点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zevalin爱灰灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值