李永乐 数学讲师
广受学生信赖的“线代王”
天任考研小编为大家整理了“计算机操作系统知识整理之死锁”相关内容,为报考计算机专业的考生们提供指导。更多有关计算机考研干货可关注考研备考栏目。
计算机操作系统知识整理之死锁
1.死锁的概念
系统中两个或两个以上的进程无限期地相互等待永远不会发生的条件,系统处于一种停滞状态,这种情况称为死锁。
2.死锁产生的原因
死锁的原因有以下二点:
(1)进程推进顺序不当和(2)对互斥资源的分配不当。
必须要指出的是,系统资源不足并不是产生死锁的原因,进程资源如果不足则进程就不会被创建,只有在资源部分分配以后,剩余的资源不能满足某些个进程的请求,造成进程集无法推进的现象才是死锁。
3.产生死锁的四个必要条件
互斥条件:任一时刻只允许一个进程使用资源。
非剥夺条件:进程已经占用的资源,不会被强制剥夺。
占用并请求条件:进程占有部分资源,申请更多的资源,且不会释放已经占有的资源。
循环等待:请求资源的进程形成了循环。
4.死锁处理策略
对死锁的处理,常用的方法有忽略死锁、死锁的检测与恢复、死锁的避免和死锁的预防。
5.死锁忽略
死锁忽略典型的算法是鸵鸟算法。
6.死锁检测和恢复
资源分配图算法
资源矩阵法
死锁的解除与系统恢复
恢复死锁常用的方法有如下几种:
(1)资源剥夺法:挂起某些死锁进程,并抢占它的资源。
(2)进程撤销法:经过撤销占有资源多的进程或代价量小的进程,以恢复死锁。
(3)进程回退法:设置还原点,让一个或多个进程回退到足以解除死锁的地步。
(4)重新启动系统:代价最大,一切从头开始。我们要尽量避免采用此方法。