假设系统中有4类互斥资源R1、R2、R3和R4,可用资源数分别为9、6、3和3。在T0时刻系统中有P1、P2、P3和P4这4个进程,这些进程对资源的最大需求量和已分配资源数如下表所示。在T0时刻系统剩余的可用资源数分别为 (23) 。如果P1、 P2、P3和P4进程按 (24) 序列执行,那么系统状态是安全的。
(24)处填()。
A.P1→P2→P4→P3
B.P2→P1→P4→P3
C.P3→P4→P1→P2
D.P4→P2→P1→P3
参考答案:D
解析:
试题(23)、(24)
[分析]: 本题考查的是操作系统进程管理中死锁检测的多项资源银行家算法。
由于T0时刻已用资源数为6,5,3和3,故剩余资源数为3,1,0和0,各进程尚需资源数可列表如下。
P1、P2、P3和P4这4个进程中,系统只能满足P4的尚需资源数(1,0,0,0),因为此时系统可用资源数为(3,1,0,0),能满足P4的需求保证P4能运行完,写上完成标志true,如下表所示。P4释放资源后系统的可用资源为(4,3,1,1),此时P2尚需资源(0,1,1,0),系统能满足P2的请求,故P2能运行完,写上完成标志true。 P2释放资源后系统的可用资源为(6,4,2,2),此时P1尚需资源(5,3,1,0),P3尚需资源(6,0,1,1),系统能满足P1和P3的请求,故P1和P3能运行完,写上完成标志true。进程可按P4→P2→P1→P3或者是P4→P2→P3→P1的顺序执行,每个进程都可以获得需要的资源,运行完毕写上完成标记,所以系统的状态是安全的。
根据试题的可选答案,正确的答案应为D。