银行家算法例题

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

银行家算法例题

假定系统中有五个进程{P0,P1,P2,P3,P4} 和三类资源{A ,B,C},各种资源的数量分别为10、5、7,在T0 时刻的资源分配情况

(1)T0时刻的安全性

利用安全性算法对T0时刻的资源分配情况进行分析

(2)P1请求资源:P1发出请求向量Request1(1,0,2),系统按银行家算法进行检查 ①Request1(1,0,2)≤Need1(1,2,2) ②Request1(1,0,2)≤Available1(3,3,2)

③系统先假定可为P1分配资源,并修改Available ,Allocation1和Need1向量,由此形成的资源变化情况如下图所示。

资源情况

进程

Max

Allocati

on

Need

Availab

le

A B C

A B C

A B C

A B C

P0

7 5 3

0 1 0

7 4 3

3 3 2

P1

3 2 2

2 0 0

1 2 2

P2

9 0 2

3 0 2

6 0 0

P3

2 2 2

2 1 1

0 1 1

P4 4 3 3

0 0 2

4 3 1

资源情况

进程 Wor

k

A B C Need A B C

Alloca tion

A B C

Work+Allo cation

A B C

Fini sh

P1

3

3 2

1 2 2

2 0 0

5 3 2

TRUE

P3

5

3 2

0 1 1

2 1 1

7 4 3

TRUE

P4

7

4 3

4 3 1

0 0 2

7 4 5

TRUE

P2

7

4 5

6 0 0

3 0 2

10 4 7

TRUE

P0 10

4 7 7 4 3

0 1 0

10 5 7

TRUE

④再利用安全性算法检查此时系统是否安全。

P1 申请资源时的安全性检查

(3)P4请求资源:P4发出请求向量Request4(3,3,0),系统按银行家算法进行检查: ①Request4(3,3,0)≤Need4(4,3,1); ②Request4(3,3, 0)≮Available (2,3,0),让P4等待。

(4)P0请求资源:P0发出请求向量Requst0(0,2,0),系统按银行家算法进行检查:

资源情况 Max Alloc Need Avai A B A B C A B C A B C P0 7 5 0 1 0 7 4 3 2 3 0

P1 3 2 3 0 2 0 2 0 P2 9 0 3 0 2 1 2 2 P3 2 2 2 1 1 0 1 1 P4

4 3

0 0 2

4 3 1

资源情况

进程 Wor

k

A B C Need

A B C

Alloca tion

A B C

Work+ Allocatio n

A B C Fini sh

P1

2

3 0

0 2 0

3 0 2

5 3 2

TRUE

P3

5

3 2

0 1 1

2 1 1

7 4 3

TRUE

P4

7

4 3

4 3 1

0 0 2

7 4 5

TRUE

P0

7

4 5

7 4 3

0 1 0

7 5 5

TRUE

P2 10

5 5

6 0 0

3 0 2

10 5 7

TRUE

①Request0(0, 2,0)≤Need0(7,4,3); ②Request0(0,2,0)≤Available (2,3,0); ③系统暂时先假定可为P0分配资源,并修改有关数据。

为P0分配资源后的有关资源数据

④进行安全性检查:可用资源Available (2,1,0)已不能满足任何进程的需要,故系统进入不安全状态,此时系统不分配资源。

资源情况 进程

Alloc Need Avai A B C A B C A B C P0 0 1 0 7 2 3 2 1 0

P1 3 0 2 0 2 0 P2 3 0 2 6 0 0 P3 2 1 1 0 1 1 P4

0 0 2

4 3 1

相关文档
最新文档