题32

题目

【2009 统考真题】某计算机系统中有 8 台打印机,由 个进程竞争使用,每个进程最多需要 3 台打印机。该系统可能会发生死锁的 的最小值是 ( )。
A. 2
B. 3
C. 4
D. 5

分析

这类题可用到组合数学中鸽巢原理的思想。
考虑最极端的情况, 因为每个进程最多需要 3 台打印机, 若每个进程已经占有了 2 台打印机, 则只要还有多的打印机, 总能满足一个进程达到 3 台的条件,然后顺利执行,所以将 8 台打印机分给 个进程,每个进程有 2 台打印机,这个情况就是极端情况, 为 4 。
或者,假设 是打印机的数量, 是进程的数量, 是每个进程最多需要打印机的数量。
根据死锁公式逆推可得,若 ,则系统可能发生死锁。将本题的数据代入,得到 ,即 ,因此系统可能发生死锁的 的最小值是 4 。

C