死锁相关概念

1. 死锁的定义:产生死锁的一组进程中的每个进程都在等待该组进程中其他进程所拥有的资源,使得所有的进程都无法向下推进,即为自锁。(专业定义就是:形成的资源分配图(无环)无法化简完全)。
2. 死锁产生的原因:四个原因,互斥性、不可剥夺、请求和保持、循环等待。
3. 解决死锁的四种方法:
(1)死锁的预防:破坏死锁产生的三个(互斥性一般无法破坏)条件之一即可。
 1)破坏不可剥夺条件:或者如果所请求的资源无法满足,那么之前具有的也会释放。
 2)破坏请求和保持条件:必须一次性将所需要的资源全部分给它,如果无法全部分配就一个也不给。
 3)破坏循环等待条件:给资源编号,顺序资源分配法。在过程中,只要申请了资源编号为Ri的资源,以后的申请就只能申请资源编号大于Ri的。
(2)死锁的避免:安全性检查算法。先看能不能给他,再假设给他,看是否存在一条安全性序列,不存在的话就不安全。(不安全的状态有可能会导致死锁,安全状态不会的)。
(3)死锁的检测:构造资源分配表,看是否能够化简完全(即看是否存在环路)。
(4)死锁的解除:一般是撤销一部分进程使得死锁解除。
4. 死锁的避免(安全性检查:银行家算法)
(1)首先判断资源的请求是否正确:即首先请求的资源<=需要的资源数并且系统具有的资源>请求的资源。
(2)安全性检查:然后假设分给它,看是否会进入不安全状态。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值