学习日记(操作系统死锁)

本文详细介绍了操作系统中的死锁概念,包括资源互斥、占有和等待、不可抢占及循环等待四个必要条件。此外,讨论了鸵鸟算法这种忽略死锁的策略,以及死锁检测与恢复的方法,如深度优先搜索检测环状等待和资源抢占恢复策略。接着,阐述了死锁避免的银行家算法以及预防死锁的四种策略,旨在破坏死锁发生的条件。通过对这些概念和技术的理解,有助于深入掌握操作系统中死锁的管理与避免。
摘要由CSDN通过智能技术生成

部分内容来源于计算机操作系统 - 死锁

一、死锁概念

  • 多个进程对多个互斥的共享资源访问,且相互争夺,且每个进程占有一份资源,在等待其他进程已占有的资源,而其他进程也在等待该进程占有的资源,形成死锁。
  • 简单说就是,你占有我想要的资源,我占有你想要的资源,但是我们都只能在获得想要的资源后才能释放当前占有的资源;导致两个都无法进行下一步。

二、死锁条件

  1. 资源互斥:资源只能同时被一个进程访问;
  2. 占有和等到条件:已经占有一部分资源,等待下一资源;
  3. 不可抢占条件:已经占有的资源不能被抢占;
  4. 循环等待条件:造成循环等待请求资源。

三、鸵鸟算法

  • 采用忽略策略,对于死锁进行不处理方式。因为发生死锁的概率非常低,而以高代价的死锁处理算法去处理一个发生概率极低的死锁是非常不划算的。

四、死锁检测与死锁恢复

  • 这种方式是允许死锁的发生,并在检测出死锁后,利用一定的方法恢复死锁。
  1. 每种类型一个资源的死锁检测
  • 以每个结点为根结点进行深度优先搜索遍历所有结点,若访问到已经访问过的结点,则检测到死锁。
  • 此方法是进程与资源的请求和占用图形成环状就产生死锁;箭头方向一致。
  1. 每种类型多个资源的死锁检测
    在这里插入图片描述
  • E为目前资源总量,A为资源剩余量,C为当前进程占有量,R为当前进程请求量;
  • 由上图可知只有P3进程可以占有资源,执行后释放P1可以占有资源,最后P2可以执行,该例子没有死锁;
  • 若当前所有进程都无法得到足够的资源,则发生死锁。
  1. 恢复方式
  • 人为地将资源抢占
  • 利用回滚,将进程的状态写入文件以备以后重新启动。
  • 杀死进程

五、死锁避免

  1. 单个资源银行家算法
    当进程请求资源时,先检查若分配资源给该进程,是否会进入不安全状态,若会则会进入死锁所以不分配资源给该进程,若分配后是安全状态则分配资源给该进程。
  2. 多个资源银行家算法
    结合多资源死锁检测,若当某一进程的资源请求都小于可用资源量,且当该进程释放后,可用资源满足其他某一进程请求,该情况为安全状态,则可以分配资源给该进程,若分配资源进入不安全状态,则不分配。

六、死锁预防

  1. 破坏互斥条件
    例如打印机采用脱机打印机的方法,放置死锁的发生。
  2. 破坏占有并等待条件
    在进程执行前进行检查,资源是否满足进程执行,若满足则执行,否就不执行。
  3. 破坏不可抢占条件
    可对访问的资源进行虚拟化。
  4. 破坏循环等待条件
    统一给资源编号,按顺序对资源进行访问。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值