接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(47)
第75题
假设系统中互斥资源R的可用数位25。T0时刻进程P1、P2、P3、P4对资源R的最大需求数、已分配资源数和尚需资源数的情况如表a所示,若P1和P3分别申请资源R数为1和2,则系统( )。
表a T0时刻进程对资源的需求情况
进程 | 最大需求数 | 已分配资源数 | 尚需资源数 |
---|---|---|---|
P1 | 10 | 6 | 4 |
P2 | 11 | 4 | 7 |
P3 | 9 | 7 | 2 |
P4 | 12 | 6 | 6 |
A. 只能先给P1进行分配,因为分配后系统状态是安全的
B. 只能先给P3进行分配,因为分配后系统状态是安全的
C. 可以同时给P1、P3进行分配,因为分配后系统状态是安全的
D. 不能给P3进行分配,因为分配后系统状态是不安全的
正确答案:B。
所属知识点:旧版教材 操作系统->死锁及银行家算法。
解析:
本题考查银行家算法。
由于系统中一共有25个可用资源,分别给P1~P4分配了:6、4、7、6个资源,所以目前系统剩余资源数为:25-6-4-7-6 = 2。
此时,若给P1分配1个资源,则P1还需要3个资源,系统只剩下1个资源。这1个资源分配给任何一个进程都无法满足进程的总资源需求量,从而导致系统进入死锁状态,这是不安全的系统状态;而若给P3分配2个资源,能满足P3的全部资源需求,P3执行完之后,将释放9个资源,此时执行执行P1、P2、P4中的任意一个均是安全状态,所以这种分配方式才是安全合理的。