操作系统_死锁笔记

多个进程并发执行
多个进程挣资源造成的相互等待
产生的原因

(1)系统资源的争抢
不可剥夺资源的竞争
(2)进程推进顺序非法
竞争同一资源
等待对方资源
(3)产生的必要条件
互斥条件
不可剥夺条件(只能主动释放)
请求并保持条件
循环等待条件

处理策略
破坏产生死锁的四个必要条件
允许死锁产生,发生的时候能检测到,并能恢复
1、死锁预防
2、避免死锁
3、死锁的检测
三种策略
(1)资源配置
(2)各种可能模式
(3)主要优点
(4)主要缺点

死锁预防
1、破坏互斥条件
打印机只能互斥使用
有时应保护这种互斥性
2、破坏不剥夺条件
占有的资源会被暂时释放,或者说被剥夺
用于状态易保存和恢复的资源
3、破坏请求并保持条件
资源未满足之前,不投入运行
资源一旦归他所有,不再提出请求
4、破坏等待条件
按顺序资源分配

死锁避免
在动态分配过程中
防止系统进入不安全状态
1、系统安全状态
不安全状态,可能进入死锁
处于安全状态,可避免死锁
2、银行家算法
先测试已占资源+申请资源是否超过最大需求量
若超过,拒绝分配
若未超过,测试是否满足进程测试能否满足最大资源量
若满足,按当前申请量分配资源,否则要推迟
(1)数据结构描述
可利用资源向量
最大需求矩阵
分配矩阵
需求矩阵
(2)银行家算法描述
(3)安全性算法
3、安全性算法举例
4、银行家算法举例
安全性算法是银行家算法的核心

死锁检测与排除
若系统为进程分配资源时不采用任何措施
应提供死锁检测和解除措施
1、资源分配图
2、死锁定理
判断资源是否有空间,用它的资源数-资源分配图中的出度
S为死锁的条件
当仅当S状态的资源分配图是
不可完全简化 死锁定理

死锁解除
1、资源剥夺法
2、撤销进程法
进程优先级,撤销进程代价高低
3、进程回退法
自愿释放,而非剥夺
设置还原点

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值