🏷️ 知识点:死锁产生的必要条件
某系统有 n 台互斥使用的同类设备,三个并发进程分别需要3、4、5台设备,可确保系统不发生死锁 的设备数 n 最小为()。
A.9
B.10
C.11
D.12
[tag_link]
正确答案:B
本题考察 死锁产生的必要条件 ,三个并发进程分别需要 3、4、5 台设备,当系统只有 (3-1) + (4-1) + (5-1) =9 台设备时,第一个进程分配 2 台,第二个进程分配 3 台,第三个进程分配 4 台。这种情况下,三个进程均无法继续执行下去,发生死锁。当系统中再增加 1 台设备,也就是总共 10 台设备时,这最后 1 台设备分配给任意一个进程都可以顺利执行完成,因此保证系统不发生死锁的最小设备数为 10。
下列关于死锁的叙述中,正确的是( )。
Ⅰ、可以通过剥夺进程资源解除死锁
Ⅱ、死锁的预防方法能确保系统不发生死锁
Ⅲ、银行家算法可以判断系统是否处于死锁状态
Ⅳ、当系统出现死锁时,必然有两个或两个以上的进程处于阻塞态
A. 仅Ⅱ、Ⅲ B. 仅Ⅰ、Ⅱ、Ⅳ C. 仅Ⅰ、Ⅱ、Ⅲ D. 仅Ⅰ、Ⅲ、Ⅳ
[tag_link]
正确答案:B
本题考察 死锁 相关知识。剥夺进程资源,将其分配给其他死锁进程,可以解除死锁,Ⅰ正确。死锁预防是死锁处理策略(死锁预防、死锁避免、死锁检测)中最为严苛的一种策略,破坏死锁产生的 4 个必要条件之一。可以确保系统不发生死锁,Ⅱ正确。银行家算法是一种死锁避免算法,用于计算动态资源分配的完全性以避免系统进入死锁状态,不能用于判断系统是否处于死锁,Ⅲ错误。通过简化资源分配图可以检测系统是否为死锁状态,当系统出现死锁时,资源分配图不可完全简化。只有两个成两个以上的进程才会出现“环”而不能被简化,Ⅳ正确。
若系统中有 n (n≥2) 个进程,每个进程均需要使用某类临界资源 2 个,则系统不会发生死锁所需的该类资源总数至少是( )。
A. 2 B. n C. n+1 D. 2n
[tag_link]
正确答案:C
考虑极端情况,当临界资源数为 n 时,每个进程都拥有 1 个临界资源并等待另一个资源,会发生死锁。当临界资源数为 n+1 时,则 n 个进程中至少有一个进程可以获得 2 个临界资源,顺利运行完后释放自己的临界资源,使得其他进程也能顺利运行,不会产生死锁。