【操作系统】3.4死锁

1.死锁定义

指多个进程在运行过程中,因争夺资源而造成的一种僵局。当进程处于这种状态时,若无外力作用,它们都将无法再向前推进。

2.

死锁(Deadlock): 指进程之间无休止地互相等待!

饥饿(Starvation:指一个进程无休止地等待!

3.产生死锁的原因

  • 竞争资源
  • 进程间推进顺序非法

3、产生死锁的必要条件  (四个条件都具备就会死锁,缺一就不会死锁)

  • 互斥条件
  • 请求和保持条件
  • 不剥夺条件
  • 环路等待条件

4、处理死锁的基本方法:

1)事先预防:预防死锁、避免死锁

2)事后处理: 检测死锁、解除死锁

5、预防死锁的方法:

  • 摒弃“请求和保持”条件
  • 摒弃“不剥夺”条件: 允许进程先运行,但当提出的新要求不被满足时必须释放它已保持的所有资源,待以后需要时再重新申请。
  • 摒弃“环路等待”条件

6、避免死锁:

只要使系统始终处于安全状态,便可避免发生死锁。

 安全状态:系统能按某种进程顺序为每个进程分配所需资源,直至满足每个进程对资源的最大需求,并能顺利完成。

不安全状态:系统无法找到一种使多个进程能够顺利分配资源执行完的安全序列。

不是所有的不安全状态都是死锁状态。
7.死锁的解除

  • 剥夺资源。从其他进程剥夺足够数量的资源给死锁进程以解除死锁状态。
  • 撤销进程。

8.死锁处理方法比较

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值