首页 > 试题广场 >

在银行家算法中,若出现下述资源分配情况:

[问答题]
在银行家算法中,若出现下述资源分配情况:

试问:( 1 )该状态是否安全?(必须写出安全性检查的过程)

2 )若进程 P2 提出请求 Request 1 2 2 2 )后,系统能否将资源分配给它?为什么?

1)对该状态进行安全性检查:

workneedallocation work+allocationfinish

ABCD ABCDABCDABCD

P01622001200321654 true

P31654065203321986 true

P11986175010002986 true

P2298623561354312 1418true

P43 12 13 1406560014312 1418 true

由安全性检查得知,可以找到一个安全序列{P0P3P1P2P4},因此系统是安全的。

2)若P2提出Request(1,2,2,2),系统按银行家算法进行检查,因

Request(1,2,2,2)<=Need(2,3,5,6)

Request(1,2,2,2)<=Available(1,6,2,2)

系统暂时先为进程P2试行分配资源,并修改有关的确数据,如下图所示:

ProcessAllocationNeedAvailable

000120400

11750

21134

30652

40656

现在,所有进程的Need都不满足Need<=Availabe,系统将进入不安全状态,所以,不能进行上述的分配,而必须将状态恢复到分配前的状态。

发表于 2017-05-16 20:43:24 回复(0)
为什么要判断

Request(1,2,2,2)<=Need(2,3,5,6)

Request(1,2,2,2)<=Available(1,6,2,2)

而不是直接加到Allocation上呢?
发表于 2022-05-22 20:25:29 回复(0)