个人学习笔记-操作系统银行家算法题目
来源:互联网 发布:淘宝满1000减50怎么用 编辑:程序博客网 时间:2024/06/05 05:47
银行家算法的详细描述,请自行查阅资料。
笔者只以一道简单的题目做描述。
题目:
5个进程从p0到p4
3个资源类型A(10个实例),B(5个实例),C(7个实例)
具体输入如下表:
在T0时刻有:
Allocation
Max
Available
A B C
A B C
A B C
P0
0 1 0
7 5 3
3 3 2
P1
2 0 0
3 2 2
P2
3 0 2
9 0 2
P3
2 1 1
2 2 2
P4
0 0 2
4 3 3
Available表示每类资源可用的数量。
Allocation表示当前分给每个进程的资源数目。
Max表示每个进程对资源的最大需求
答案分析如下表:
初始时:
Work:= Available
Need:=Max-Allocation
即:(只看黑字)
Work
Need
Allcation
Work=Work+Allcation
finish(Work+Allcation<(10,5,7))
A B C
A B C
A B C
A B C
P0
7 4 5
0 1 1P1
3 3 2
1 2 2
2 0 05 3 2true
P2
6 0 03 0 2
P3
5 3 2
0 1 1
2 1 17 4 3
true
P4
4 3 1
0 0 2
然后看P2不满足Work>=Need,P3满足条件Work>=Need,P1行求得(蓝色)。以此类推,P4也可以求出。之后又从头开始遍历,依次完成P0,P2。
当完成后,finish都为true表示,系统处于安全状态。输出顺序就可以了,如下图:
Work
Need
Allcation
Work+Allcation
finish
A B C
A B C
A B C
A B C
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
P0
7 4 5
7 4 3
0 1 0
7 5 5
true
P2
7 5 5
6 0 0
3 0 2
10 5 7
true
如表银行家算法的结果为 <P1,P3,P4,P0,P2>
笔者是个初学者,如有问题请联系。
- 个人学习笔记-操作系统银行家算法题目
- 银行家算法学习笔记
- 银行家算法学习笔记
- 操作系统之银行家算法
- 操作系统--银行家算法设计
- 操作系统之银行家算法
- 操作系统课程设计银行家算法
- 操作系统之银行家算法
- 操作系统 之 银行家算法
- 操作系统课程设计银行家算法
- 操作系统之银行家算法
- 操作系统::银行家算法
- 操作系统银行家算法
- 操作系统之银行家算法
- 操作系统 银行家算法
- 操作系统算法 之 银行家算法
- 操作系统之银行家算法的学习Java系列
- 操作系统之--银行家算法1
- codeblocks编译时出错误
- Linux内核内存压缩技术
- Spring事务的传播和隔离级别
- linux常用命令2
- SpringCloud学习
- 个人学习笔记-操作系统银行家算法题目
- 【Scikit-Learn 中文文档】流形学习
- JavaWeb基础(7)—— Filter 过滤器
- 系统调用
- python的一些细节(3)
- 项目管理--maven浅析《四》之私服(Nexus)
- python爬虫百度翻译
- Python编程入门学习笔记——字典
- leetcode 233. Number of Digit One