进程管理八(死锁)

  • 死锁的概念

(1)死锁的定义:

各进程在使用系统资源时,应注意系统产生死锁的问题。死锁,是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成大家都想得到资源而又得不到资源,各并发进程不能继续向前推进的状态。

(2)产生死锁的原因:

死锁的起因是并发进程对资源的竞争。产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类资源数。因为资源的有限性,所以需要采用适当的资源分配算法,以达到消除死锁的目的。

(3)产生死锁的必要条件:

互斥条件:并发进程所要求和占有的资源是不能同时被两个或两个以上进程使用或操作的。

不可剥夺条件:进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放。

部分分配:进程每次申请它所需要的一部分资源,在等待新资源的同时,继续占用已分配到的资源。

环路条件:存在一种进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。

只要上述4个必要条件中的某一个不满足,死锁就可以排除。

  • 死锁的处理策略

解决死锁的方法一般可分为预防、避免、监测与解除3种。

预防是采用某种策略,限制并发进程对资源的请求,从而使得死锁的必要条件在系统执行的任何时间都不满足。

避免是指系统再分配资源时,根据资源的使用情况提前做出预测,从而避免死锁的发生。

死锁监测与解除是指设有专门的机构,当死锁发生时,该机构能够监测到死锁发生的位置和原因,并能通过外力破坏死锁发生的条件,从而使得

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值