【操作系统】 - Operation System 第十一章 - 死锁

本文介绍了进程间的资源争夺导致的死锁现象,分析了死锁产生的条件与资源状态,并提出了预防与避免死锁的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来自: https://www.bilibili.com/video/BV1js411b7vg?p=78

 

2 系统模型

 

    进程对资源的争夺才会产生死锁, 资源可以是CPU、内存、I/O等等。 当一个资源状态是free时,可以被一个进程get(获取), 资源就变成use/hold 状态,进程使用完资源后,需要release资源, 资源变回free状态。 资源状态如此往复循环,重复被其他进程使用。

    资源状态:

    死锁产生的情况:

    资源分配图,用有向图表示进程与资源的占用与请求情况如下图,当P -> R, 表示进程依赖资源R, 当R -> P, 表示资源R被进程P占用。

    资源分配图, 一个资源R里可能由多个资源,能被多个进程占有

    下图无死锁。

    形成死锁

    无死锁

    结论: 如果死锁, 一定有环, 如果有环, 不一定死锁。 死锁是有环的充分不必要条件。

3 死锁的特征

    死锁的出现的一定有下面四个条件, 但有下面四个条件不一定会死锁

 

4 死锁处理办法

 

    死锁的解决办法

4.1 死锁预防

    只要打破死锁存在的四个必要条件之一, 就可以打破死锁。 (四个条件是1.互斥  2.持有并等待  3.无抢占   4. 循环等待)

4.2 死锁避免

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值