单选题
假设某银行拥有的资金数是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 |
【正确答案】
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,故系统状态是不安全的。