操作系统之死锁——学习笔记

本文详细解读了死锁的概念及其产生的原因,包括互斥条件、请求和保持条件、不剥夺条件和环路等待条件,并提供了预防、避免、检测和解除死锁的方法。对于正在准备面试的开发者来说,这是一份不可或缺的技术指南。

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

去面试的时候,偶尔会遇到关于死锁的简答题,好吧,就把要点简单总结一下。

死锁:指多个进程在运行过程中因争夺资源而造成的一种僵局,当处于这种僵局状态时,若无外力作用,它们都将无法再向前推进。


产生死锁的原因:
1)竞争资源
2)进程间推进顺序非法:进程在运行中,请求和释放资源的顺序不当,会产生死锁。

资源
1)可剥夺资源:进程在获得这类资源后,可再被其他进程剥夺,如,CPU和主存。
2)不可剥夺资源:当系统把这类资源分配给进程后,再不能强行收回,只能在进程用完后自行释放,如磁带机、打印机。

产生死锁的必要条件
1)互斥条件
2)请求和保持条件
3)不剥夺条件
4)环路等待条件


解除死锁的基本方法
1)预防死锁
2)避免死锁
3)检测死锁
4)解除死锁


解除死锁的两种方法
1)剥夺资源

2)撤销进程

参考:

计算机操作系统(第三版)

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://www.cnblogs.com/Rex7/p/4752572.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值