个人学习笔记-操作系统银行家算法题目
2017-12-02 23:46
288 查看
银行家算法的详细描述,请自行查阅资料。
笔者只以一道简单的题目做描述。
题目:
5个进程从p0到p4
3个资源类型A(10个实例),B(5个实例),C(7个实例)
具体输入如下表:
在T0时刻有:
Available表示每类资源可用的数量。
Allocation表示当前分给每个进程的资源数目。
Max表示每个进程对资源的最大需求
答案分析如下表:
初始时:
Work:= Available
Need:=Max-Allocation
即:(只看黑字)
开始时Work=Available=(3,3,2)我们可以看到Need P1 P3 资源可以满足 Work>=Need,从算法遍历运行的顺序可知,先P1行求得(红字),work=(5,3,2)
然后看P2不满足Work>=Need,P3满足条件Work>=Need,P1行求得(蓝色)。以此类推,P4也可以求出。之后又从头开始遍历,依次完成P0,P2。
当完成后,finish都为true表示,系统处于安全状态。输出顺序就可以了,如下图:
如表银行家算法的结果为 <P1,P3,P4,P0,P2>
笔者是个初学者,如有问题请联系。
笔者只以一道简单的题目做描述。
题目:
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 |
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 1 | ||
P1 | 3 3 2 | 1 2 2 | 2 0 0 | 5 3 2 | true |
P2 | | 6 0 0 | 3 0 2 | ||
P3 | 5 3 2 | 0 1 1 | 2 1 1 | 7 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 |
笔者是个初学者,如有问题请联系。
相关文章推荐
- 个人Hadoop实验决策树算法学习笔记
- 【操作系统】学习笔记(三)基于时间片轮转的进程调度算法
- 操作系统学习笔记(8) 互斥和同步的实现算法
- 个人学习笔记:算法——回溯法
- 操作系统学习笔记(9) 互斥和同步的信号量算法
- [置顶] 《算法笔记及上机实战指南》学习笔记及题目汇总目录
- java学习个人笔记---内存管理之垃圾回收基本算法
- java个人学习笔记19(多生产者多消费者+循环判断标记+notifyAll()+Lock+Condition)
- RTX51 Tiny实时操作系统学习笔记—初识RTX51 Tiny
- 操作系统学习笔记三 进程
- KNN算法学习笔记二
- 【机器学习算法笔记】2. 学习算法与最小均方算法(LMS)
- Android 个人学习笔记之--- Pull解析XML文件
- ubuntu操作系统学习笔记之获取帮助信息
- 操作系统 学习笔记1
- C++ Primer 学习笔记_40_STL实践与分析(14)--概要、先来看看算法【上】
- 个人使用的Vim配置及Vim学习笔记
- 【数据结构与算法学习笔记】PART2 向量(接口与实现,可扩充向量,无序向量,有序向量)
- ios学习之个人笔记(按钮操作)