死锁

死锁

概念:多个进程在运行过程中,因争夺资源而造成的一种循环等待的僵局

产生死锁的必要条件

  • 互斥条件:某资源在一段时间内只能由一个进程占有
  • 不可抢占条件:进程已获得的资源,在未使用完之前,不能被抢占,只能在使用完时自己释放
  • 占用且申请条件:进程至少占有一个资源,但又申请新的资源
  • 循环等待:存在一个进程之间互相等待的循环

死锁预防

  • 打破互斥条件:即允许多个进程同时访问某些资源。但有些资源是不允许同时被访问的,如打印机等等,这是由资源本身的属性所决定的。所以,这种办法并无实用价值。
  • 打破不可抢占条件:即允许进程强行从占有者那里抢占某些资源。就是说,当一个进程已占有了某些资源,它又申请新的资源,但不能立即被满足时,它必须释放所占有的全部资源,以后再重新申请。但这种方法实现起来比较困难,会减低系统性能
  • 打破占有且申请条件:实施资源预先分配策略。即进程在运行前一次性的向系统申请它所需要的全部资源,如果全部资源得不到满足,则不分配任何资源,此进程暂不运行。缺点:1.进程运行所需的全部资源是不好预测的。2.资源的利用率低。3.降低了进程的并发性,进程延迟运行
  • 打破循环条件:实施资源有序分配策略。即把所有资源进行线性排队,并赋予不同的序号,所有进程对资源的请求必须严格按照资源序列号递增的次序提出。缺点:1.给所有资源进行编号,增加了系统的开销。2.为了遵循按序号申请的次序,要提前申请暂不使用的资源,增加了进程对资源的占用时间。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值