现代操作系统 死锁

一、死锁的定义

假若在一个进程集合中的每个进程都在等待,只能由该集合中的其它一个进程才能引发的事件,那么这种状态被看成死锁。

一旦产生死锁,若无外力作用,这些进程都将永远不能再向前推进。

二、产生死锁的主要原因

竞争资源

三、资源死锁的条件

四个必要条件:

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

五、死锁的建模

Holt(1972)指出如何用有向图建立上述四个条件的模型。

在有向图中有两类节点:圆形表示进程;用方形表示资源。

SRAG:System Resource Allocation Graph:系统资源分配图

六、四种处理死锁的策略

  • 忽略该问题
  • 检测死锁并恢复
  • 仔细地对资源进行动态分配,以避免死锁
  • 通过破除所述四个必要条件之一,用以防止死锁产生

七、鸵鸟算法

八、资源检测

1.单种资源类型下死锁的检测:作出有箱图之后,观察是否有环的存在,环就是死锁。

2.多种资源类型下死锁的检测:?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值