- 死锁定理!!:当且仅当资源分配图是不可完全简化的。
- S为死锁状态的充分条件是:当且仅当S状态的资源分配图是不可完全简化的。该充分条件被称为死锁定理。
- 死锁的解除:!!
- 剥夺资源:从其他进程剥夺足够数量的资源给死锁进程以解除死锁状态
- 撤销进程:最简单的是让全部进程都死掉;温和一点的是按照某种顺序逐个撤销进程,直至有足够的资源可用,使死锁状态消除为止
例题:试简化下图进程-资源图,并利用死锁定理给出相应的结论。
结论:
R1资源有3个,R2资源有2个,R3资源有2个;
P1进程:占有2个R1,申请1个R2;
P2进程:占有1个R1,1个R3进程,申请1个R1进程;
P3进程:占有1个R2进程,1规格R3进程,申请1个R3进程;
目前系统只有一个R2空闲;P1是一个既不孤立又不阻塞的进程,消去P1的边;2个R1,1个R2空闲,能满足P2申请,使P2成为既不孤立又不阻塞的进程,所以消去P2的边;3个R1,1个R3,1个R2空闲,能满足P3申请,使P3成为既不孤立又不阻塞的进程,所以消去P3的边,由死锁定理知,不会产生死锁。