多个进程因竞争资源而造成的一种僵局(相互等待)
若无外力作用,这些进程都将无法向前推进
死锁产生的原因
系统资源的竞争
进程推进顺序非法
死锁产生的必要条件
互斥条件
进程要求对所分配的资源进行排他性控制
不剥夺条件
请求保持条件
进程至少保持了一个资源,但又提出了新的资源请求
循环等待条件
存在一种进程资源循环等待链,链中每个进程已获得的资源同时被链中下一个进程所请求。
处理策略
死锁预防
设置限制条件,破坏死锁产生的4个必要条件之一
互斥条件一般无法破坏
摒弃请求保持条件
规定所有进程都必须一次性申请其在运行过程中所需的全部资源
简单易行,但可能会造成资源严重浪费
摒弃不剥夺条件
规定一个已经保持资源的进程
在提出新的请求时若不能立即满足
则释放其所有资源
摒弃环路等待条件
将系统中的资源按类型赋予不同的序号
并规定所有的进程必须严格按照序号递增的顺序申请资源
避免死锁
在资源的动态分配过程中,用某种方法防止系统进入不安全状态
系统安全状态
银行家算法
死
2022-04-06 00:30:14
1.25MB
思维导图
1