题目
若系统中有7台绘图仪,有多个进程均需要使用2台,规定每个进程一次仅允许申请一台,则至多允许( )个进程参于竞争,而不会发生死锁[1]。A. 4B. 5C. 6D. 7
若系统中有7台绘图仪,有多个进程均需要使用2台,规定每个进程一次仅允许申请一台,则至多允许( )个进程参于竞争,而不会发生死锁[1]。
A. 4
B. 5
C. 6
D. 7
题目解答
答案
C. 6
解析
考查要点:本题主要考查资源分配中的死锁避免问题,需要理解如何通过资源数量和进程需求确定最大进程数以避免死锁。
解题核心思路:
- 死锁条件:当所有进程均占用部分资源且无法继续运行时,系统可能发生死锁。
- 关键公式:根据资源分配理论,最大安全进程数可通过公式 $P \leq \frac{R-1}{C-1}$ 计算,其中 $R$ 为资源总数,$C$ 为每个进程需求数。
- 破题关键:确保剩余资源足够满足至少一个进程的需求,使其完成并释放资源,从而打破死锁链。
公式推导
- 代入已知条件:
- 资源总数 $R = 7$(绘图仪数量)
- 每个进程需求数 $C = 2$(每个进程需使用2台)
- 代入公式:
$P \leq \frac{7-1}{2-1} = 6$
因此,最多允许6个进程。
死锁分析
- 当 $P = 6$ 时:
- 每个进程占用1台资源,共占用6台,剩余1台。
- 剩余资源足够满足任意一个进程的第二台需求,使其完成并释放资源,避免死锁。
- 当 $P = 7$ 时:
- 所有进程各占用1台资源,剩余0台。
- 所有进程均需等待第二台资源,导致死锁。