给不记得题目具体内容的兄弟们一个前排提醒
- 系统共有同类互斥资源——m个;
- 目前共有并行的进程——n个;
- 每个进程对资源的最大需求——w个;
下面给出分析:此时系统总共需要nw个资源,如果每个进程都少一个资源那么就是nw - n , 剩余资源就是 m - (nw - n), 如果剩余资源大于0的话就不会产生死锁。
所以我在查资料的时候会有这两种公式:
- m > n(w - 1)
- m >= n(w - 1) +1
那为什么要假设每个进程都少一个资源呢?
这个条件的意义呢,是确保系统中有足够的资源,来满足所有进程的最大需求,从而避免资源的竞争和互相等待,这是一种保守的假设,进而避免死锁的发生。