银行家算法例题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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