银行家算法资源分配问题(例子!!!)
在银行家算法中,若出现表2-4所示的资源分配情况,试问:
- 该状态是否安全?
- 如果进程P2提出请求Request2(1,2,2,2)后,系统能否将资源分配给它。
表2-4 资源分配表
Allocation |
Need |
Available |
|
A B C D |
A B C D |
A B C D |
|
P0 |
0 0 3 2 |
0 0 1 2 |
1 6 2 2 |
P1 |
1 0 0 0 |
1 7 5 0 |
|
P2 |
1 3 5 4 |
2 3 5 6 |
|
P3 |
0 3 3 2 |
0 6 5 2 |
|
P4 |
0 0 1 4 |
0 6 5 6 |
解答:
(1)利用银行家算法对此时刻的资源分配情况进行分析,可得表2-5所示的安全性分析情况。
表2-5 安全性检查表
Work |
Need |
Allocation |
Work+Allocation |
Finish |
|
A B C D |
A B C D |
A B C D |
A B C D |
||
P0 |
1 6 2 2 |
0 0 1 2 |
0 0 3 2 |
1 6 5 4 |
true true true true true |
P3 |
1 6 5 4 |
0 6 5 2 |
0 3 3 2 |
1 9 8 6 |
|
P4 |
1 9 8 6 |
1 7 5 0 |
0 0 1 4 |
1 9 9 10 |
|
P1 |
1 9 9 10 |
0 6 5 6 |
1 0 0 0 |
2 9 9 10 |
|
P2 |
2 9 9 10 |
2 3 5 6 |
1 3 5 4 |
3 12 14 14 |
从以上情况分析可以看出,此时存在一个安全序列{p0,p3,p4,p1,p2},故该状态是安全的。
(2)P2提出请求Request2(1,2,2,2)。按银行家算法进行检查:
Request2(1,2,2,2)<=need(2,3,5,6)
Request2(1,2,2,2)<=available(1,6,2,2)
试分配并修改相应数据结构,资源分配情况如表2-6所示。
表2-6 P2申请资源后的资源分配表
Allocation |
Need |
Available |
|
A B C D |
A B C D |
A B C D |
|
P0 |
0 0 3 2 |
0 0 1 2 |
0 4 0 0 |
P1 |
1 0 0 0 |
1 7 5 0 |
|
P2 |
1 3 5 4 |
1 1 3 4 |
|
P3 |
0 3 3 2 |
0 6 5 2 |
|
P4 |
0 0 1 4 |
0 6 5 6 |
再利用安全性检查算法检查系统是否安全,可用资源available(0,4,0,0)已不能满足任何进程的需要,此时系统不能将资源分配给P2。
银行家算法资源分配问题(例子!!!)相关推荐
- 7-2 银行家算法--申请资源 (30 分)
7-2 银行家算法–申请资源 (30 分)(思路+详解)Come 乖宝宝们 一:前言 这道题需要用到前面的一道题 安全性检查 算法知识,所以强烈建议先看前面那道题 7-1 银行家算法–安全性检查 (2 ...
- 动态规划算法之资源分配问题及其空间优化方案
资源分配问题:某厂根据计划安排,拟将n台相同的设备分配给m个车间,各车间获得这种设备后,可以为国家提供盈利Ci j(i台设备提供给j号车间将得到的利润,1≤i≤n,1≤j≤m).问如何分配,才使国家得 ...
- 随机洗牌算法 银行家算法
1. 随机洗牌算法 https://blog.csdn.net/qq_26399665/article/details/79831490 Fisher-Yates Shuffle算法 最早提出这个洗牌 ...
- python银行家算法_Linux 死锁概念与银行家算法python 实现
一 . 死锁的概念 接上篇 http://shaobaobaoer.cn/archives/680/linux-process-manager-note 在之前的哲学家吃饭的问题中,当每个哲学家都想进 ...
- [OS] 死锁相关知识点以及银行家算法详解
因此我们先来介绍一下死锁: 死锁特征 当出现死锁时,进程永远不能完成,并且系统资源被阻碍使用,阻止了其他作业开始执行.在讨论处理死锁问题的各种方法之前,先深入讨论一下死锁的特征. ·必要条件 (1)互 ...
- 【操作系统/OS笔记15】死锁的系统模型,死锁的处理办法,银行家算法与死锁检验算法
本次笔记内容: 11.1 死锁问题 11.2 系统模型 11.3 死锁特征 11.4 死锁处理办法 11.5 死锁预防和死锁避免 11.6 银行家算法 11.7 死锁检测和死锁恢复 文章目录 死锁问题 ...
- 死锁避免算法--银行家算法
银行家算法 算法思想 银行家算法:银行家算法是从当前状态出发,按照系统各类资源剩余量逐个检查各进程需要申请的资源量,找到一个各类资源申请量均小于等于系统剩余资源量的进程P1.然后分配给该P1进程所请求 ...
- 【避免进程死锁】银行家算法
一.概述 银行家算法(Banker's Algorithm)是一个避免进程死锁的著名算法,由 Dijkstra 于 1965 年提出.本文为笔者的读书笔记,结构如下: 死锁 银行家算法 例子展示 补充 ...
- [操作系统]死锁/RAG图/银行家算法
1.1死锁定义 多个进程因为竞争资源而造成一种僵局,没有外力的作用下,这些进程无法向前推进 这种僵局可以解释为:每个进程继续执行所需的资源都被另一个进程占用 这里举一个简单的例子: 假设现在有进程P1 ...
最新文章
- 、简述global关键字的作用_详解static inline关键字
- 1~9组成三个3位的平方数
- 信奥中的数学:孙子定理 中国剩余定理
- mysql5.7参数简单介绍
- php socket_create卡顿,phpsocket_createundefined的异常解决方法
- Linux 命令(93)—— updatedb 命令
- ORM框架之Spring Data JPA(二)spring data jpa方式的基础增删改查
- webuploader java版本
- 74HC595引脚图时序图工作原理及pdf中文资料lsh
- Redis内存回收机制(Redis 过期策略、淘汰策略)
- 计算机专业比较好的加州州立,美国计算机专业大学排名前十
- 上海自考02290 c++语言程序设计试卷,上海交通大学工业自动化专业自考本科招生简章...
- Win7---保护眼睛的电脑窗口颜色设置
- Springboot定时任务【多线程处理】
- 苹果在旧设备中修复了两个 iOS 零日漏洞
- ArcMap-network analyst
- 【2019年04月04日】股市指数估值排名
- cordova多语言(国际化,本地化,全球化)
- python从邮箱获取指定邮件_用python提取并统计指定邮箱里的特定邮件
- win10 更新后摄像头问题