【OS】死锁模型

一:死锁的规范定义

    如果一个进程集合中的每一个进程都在等待只能由该集合中的其他进程才能引发的事件,那么该进程集合就是死锁的。

    也就是说,这个死锁的进程集合中的每一个进程都在等待另一个死锁的进程已经占有的资源。无法运行,无法释放资源,无法被唤醒。死锁最常见的类型是资源死锁,但并不是唯一的。另外还有如通信死锁等。

二:死锁发生的条件

Coffman等人总结发生(资源)死锁的4个必要条件(死锁了一定满足这4个条件,但是满足这4个条件不一定死锁):

  1. 互斥条件:每个资源要么已经分配给了一个进程,要么就是可用的。
  2. 占有和等待条件:已经得到了某个资源的进程可以再请求新的资源。
  3. 不可抢占条件:已经分配给一个进程的资源不能强制性地被抢占,它只能被它占有的进程显示地释放。
  4. 环路条件:死锁发生时,一定有两个或两个以上的进程组成一条环路,该环路中的每个进程都在等待下一个进程所占有的资源。

以上4个条件一定同时满足。如果其中任何一个条件不成立,死锁不会发生。每个条件都与系统的可选策略相关,在策略上,可以通过破坏以上条件,从而预防死锁。

三:死锁模型


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值