[操作系统]进程管理之死锁

概念

死锁:多个进程由于临界资源的不合理分配导致无限阻塞的状态称为死锁。
死锁VS饥饿:
死锁的进程全部处于阻塞态,而饥饿的进程可能处于阻塞态也可能处于就绪态;
进入饥饿的进程可以只是一个,而死锁的进程数需大于等于2个

死锁产生的原因

系统资源的竞争;
进程推进顺序非法;

一句话即为系统临界资源的不合理分配。

必要条件

互斥条件
不剥夺条件
请求并保持条件
循环等待条件

死锁某种程度上可以理解为同类资源数只有1的循环等待。

死锁的处理策略

死锁预防

是指破坏四个必要条件之一。

使得临界资源能够共享访问; SPooling技术
可剥夺;可能会较低效率
若不能得到全部资源则放弃所有已得资源
对软硬件资源进行编号,按序号递增申请,而同类资源全部申请完

死锁避免

是指避免进程进入不安全状态;不安全状态不一定是死锁状态。而死锁状态一定是不安全状态。
银行家算法:
若不能满足进程对于各类资源的全部需求则不分配。

死锁检测和解除

资源分配图,框表示一类资源,框内数量表明资源数量,点表明进程,有向边包括分配边和申请边。
检测方法:划去可删去的边,若最终无环则非死锁。
解除

资源剥夺法
撤销进程法
进程回退法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值