银行家算法例子答案

  • 格式:doc
  • 大小:40.00 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、设系统中有3种类型的资源(A,B,C)和5个进程P1、P

2、

P3、P4、P5,A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态见下表(T0时刻系统状态表)所示。

系统采用银行家算法实施死锁避免策略。(12分)

T0时刻系统状态表

最大资源需求量已分配资源数量

A B C A B C

P1 5 5 9 2 1 2

P2 5 3 6 4 0 2

P3 4 0 11 4 0 5

P4 4 2 5 2 0 4

P5 4 2 4 3 1 4

T0时刻系统状态表

P2请求资源(0,3,4)(0,1,1)

(1)T0时刻是否为安全状态?若是,请给出安全序列。

(2)在T0时刻若进程P2请求资源(0,3,4),是否能实施资源

分配?为什么?

(3)在(2)的基础上,若进程P4请求资源(2,0,1),是否

能实施资源分配?为什么?

(4)在(3)的基础上,若进程P1请求资源(0,2,0),是否

能实施资源分配?为什么?

答:当前的系统状态描述为:

⎥⎥⎥

⎥⎥

⎥⎦

⎤⎢⎢⎢⎢⎢⎢⎣⎡=42

4

5241104

63

5955C ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=413402

504

204212

A ⎥⎥⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎢

⎢⎣⎡=-011

122

600

431743

A C

()20517=R ()332=V

(1)

在T0时刻,由于V (2,3,3)大于等于(C-A )中P5所在行的向量(1,1,0),因此V 能满足P5的运行,在P5运行后,系统的状态为:

⎥⎥⎥

⎥⎥

⎥⎦

⎤⎢⎢⎢⎢⎢⎢⎣⎡=000

402504

204212

A ⎥⎥⎥⎥⎥

⎥⎦

⎢⎢⎢⎢⎢⎢⎣⎡=-000122

600

431743

A C ()745'=V

同样的,在P5运行后,V ’(5,4,7)也大于等于C-A 中P4所在的行(2,2,1),则能满足P4的运行。P4运行后,系统的状态为:

⎥⎥⎥

⎥⎥

⎥⎦

⎤⎢⎢⎢⎢⎢⎢⎣⎡=000

000504

204212

A ⎥⎥⎥⎥⎥

⎥⎦

⎢⎢⎢⎢⎢⎢⎣⎡=-000000

600

431743

A C ()1147'=V

按照上述同样的方法,P4运行后,P3,P2,P1也能按顺序运行。(备注:考试时需要都写出来)。

因此,在T0时刻,存在安全序列:P5、P4、P3、P2、P1。 T0时刻是安全的。

(2)

P2申请资源(0,3,4),但在C-A中,P2所在行向量是(1,3,4)。对于资源R1,P2的申请超过它所预定的需求。因此,该申请不给予分配。