操作系统学习笔记八(死锁)

导图

 

 

1.死锁的定义

   由于多个进程竞争共享资源而引起的进程不能向前推进的僵死状态称为死锁

 

2.产生死锁的原因和必要条件

2.1 产生的原因

   竞争共享资源且分配资源的顺序不当

2.2 必要条件

  1)互斥条件

  2)请求和保持条件

  3)不剥夺条件

  4)环路等待条件

 

3.处理死锁的基本方法

3.1 死锁的预防

    通过破坏死锁的产生条件来保证不发生死锁----保证至少其中一个产生死锁的条件不成立:

   1)  无法破坏互斥条件

   2)请求和保持条件 -- 摒弃请求和保持条件。做法:要求进程一次性申请需要的全部资源,申请其他资源前释放已经占用的资源

   3) 不剥夺条件 -- 摒弃不剥夺条件。做法:系统抢占被占用的资源分配给需要的进程。缺点:实现复杂,代价高

   4) 环路等待条件 -- 摒弃环路等待条件。 做法:进程必须按规定的顺序申请资源。缺点:限制了新设备的增加,资源浪费,用户编程麻烦

3.2 死锁的避免

    通过算法合理分配资源来保证不发生死锁----通过资源合理分配使系统处于安全状态。

    什么是安全状态?能够找到一个进程执行序列,按照这个序列为每个进程分配资源,就可以保证进程资源分配和执行顺利完成,不会发生死锁

     

    采用银行家算法分配资源可避免死锁发生,这是因为银行家算法在检测到系统剩余资源量可满足进程需求时才进行分配,避免系统进入不安全状态

3.3 死锁的检测

    检测当前系统是否出现死锁。

    何时调用检测算法?系统经常出现死锁时,调用检测算法可以知道死锁可能发生的频率、死锁发生时受影响的进程数量。

   

3.4 死锁的解除

    检测到系统有死锁后进行解除。

  

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值