《“死锁”四个必要条件的合理解释》分为三个部分:
【1】“死锁”的含义
【2】“死锁”的原因及四个必要条件的合理解释
【3】“死锁”的预防和解除
1.“死锁”的含义
所谓死锁:是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
2.“死锁”产生的原因以及四个必要条件的合理解释
产生死锁的原因可归结为如下两点:
(1)竞争资源。当系统中供多个进程共享的资源如打印机、公用队列等,其数目不足以满足进程的需要时,会引起诸进程的竞争而产生死锁。
(2)进程间推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生进程死锁。
产生死锁的四个必要条件:
1.互斥(Mutual exclusion):存在这样一种资源,它在某个时刻只能被分配给一个执行绪(也称为线程)使用;
2.持有(Hold and wait):当请求的资源已被占用从而导致执行绪阻塞时,资源占用者不但无需释放该资源,而且还可以继续请求更多资源;
3.不可剥夺(No preemption):执行绪获得到的互斥资源不可被