假设某银行拥有的资金数是10,现在有4个用户a、b、c、d,各自需要的最大资金数分别是4、5、6、7。若在表2-11左边部分的情况下,用户a和b又各申请1个资金,则银行分配后用户a、b、c、d尚需的资金数分别为 (35) ;假设用户a已经还清所有借款,其情况如表2-11右边部分所示,那么银行的可用资金数为 (36) 。若在表2-11右边部分的情况下,银行为用户b、c、d各分配资金数1、1、2,则银行分配后用户b、c、d已用资金数分别为 (37) 。
表2-11 资金分配表 | |||||||
用户 | 最大资金 | 已用资金 | 尚需资金 | 用户 | 最大资金 | 已用资金 | 尚需资金 |
a | 4 | 1 | 3 | a | — | — | — |
b | 5 | 2 | 3 | b | 5 | 3 | 2 |
c | 6 | 2 | 4 | c | 6 | 2 | 4 |
d | 7 | 1 | 6 | d | 7 | 1 | 6 |
A.4、3、2,尚需资金数分别为1、3、5,故系统状态是安全的
B.4、3、3,尚需资金数分别为1、3、4,故系统状态是安全的
C.4、3、2,尚需资金数分别为1、3、5,故系统状态是不安全的
D.4、3、3,尚需资金数分别为1、3、4,故系统状态是不安全的
参考答案:D
解析:
[分析]: 在表2-11左边部分的情况下,用户a、b、c、d的已用资金数分别为1、2、2、1,如果a和b各申请1个资金,则系统分配后用户a、b、c、d的已用资金数分别为2、3、2、1,合计为8,系统可用资金数为2,尚需的资金数分别为2、2、4、6。
由于可用资金数为2,能保证a或b运行结束。假定a运行结束,释放资源后可用资金数为4,能保证b或c运行结束。同理,b运行结束释放资源后,可用资金数为7,能保证c或d运行结束。最终c运行结束,释放资源能使d获得所需资金运行结束,故系统状态是安全的。
在表2-11右边部分的情况下,因为银行的总资金数是10,为用户b、c、d分配了3、2、1,故可用资金数为10-3-2-1=4。如果系统又为用户b、c、d分配资金数1、1、2,则系统分配后用户b、c、d已用资金数分别为4、3、3。这样导致系统的可用资金为0,故系统状态是不安全的。