操作系统-死锁知识点整理

本文深入探讨了操作系统中死锁的根本原因,包括竞争资源和进程推进顺序不当,并详细解析了产生死锁的Coffman条件。接着,介绍了处理死锁的三种基本方法:预防死锁、避免死锁和检测解除死锁。预防死锁通过设定限制条件防止死锁,而避免死锁如银行家算法则确保系统不会进入不安全状态。检测和解除死锁则依赖于资源分配图来识别和解决死锁问题。
摘要由CSDN通过智能技术生成

死锁根本原因

产生原因,根本原因是资源有限且分配不当
具体归结为两点:

竞争资源
进程推进顺序不当
资源数量不够不一定造成死锁,还需要有顺序不合理的条件。

产生死锁的必要条件(coffman条件)
  1. 互斥条件。某个资源在一段时间内只能供一个进程占用。
  2. 占有且等待条件。进程在占有至少一个资源的同时,又去申请别的资源,陷入等待。
  3. 不可剥夺条件。一个进程所占有的不可剥夺的资源在它使用完之前,系统不能剥夺。
  4. 循环等待条件。若干进程之间的等待、请求关系成环。
处理死锁的基本方法
  1. 预防死锁。预先设置一些限制性条件,以破坏产生死锁必要条件中的一个或几个。方法容易实现,但是由于限制了系统资源的分配和使用,造成资源利用率较低。
  2. 避免死锁。在资源分配的过程中,用某种方法防止系统进入不安全状态(在银行家算法中,存在安全序列)。用此方法可以获得较高的资源利用率和系统吞吐量。
  3. 检测和解除死锁。不干涉,允许系统产生死锁。它设置一个死锁检测机构(资源分配图),用来检测和解除死锁。方法所获得的利用率吞吐量是最高的,但难以实现。
预防死锁的具体方法
  1. 破坏占有且等待条件。
    思路一:静态分配资源。进程开始执行前就申请全部所需资源ÿ
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值