【正确答案】
【答案解析】在资源分配系统中,死锁发生的原因是因为多个进程共享优先的独占型资源。当多个进程占有了部分资源又需要更多的资源时,就可能形成循环等待链而导致死锁。
假设系统中的某种资源的个数为M,共享该资源的进程数为N,每个进程对该资源的最大需求量为X。最极端的资源分配情况是,每个进程都已经占有了X-1个资源,同时都需要再分配一个资源。这时,如果要保证不发生死锁,系统中必须至少还有一个可分配的资源。即M满足下面的关系式:
M≥N(X-1)+1
因此,保证系统不会发生死锁的最小M值可以从下面的公式获得:
M=N(X-1)+1
将M=5,X=2代入公式,可得N=4。即至多允许出现4个进程参与资源竞争。