操作系统综合题之“银行家算法,计算各资源总数和Need还需要数量和解释什么是安全状态以及银行家进阶题(额外提出资源请求计算是否满足)”
一、问题:某系统在某时刻的进程和资源状态如下表所示:
| 进程 |
Allocation(已分配资源数) (A B C D) |
Max(最大需要资源数) (A B C D) |
Avaliable(可用资源数) (A B C D) |
| P1 | 0 0 1 1 | 0 2 2 2 | 1 5 2 0 |
| P2 | 1 1 2 0 | 1 5 4 1 | |
| P3 | 1 3 5 4 | 1 3 6 4 | |
| P4 | 1 3 2 1 | 2 6 4 2 | |
| P5 | 0 0 2 3 | 1 5 4 4 |
用银行家算法回答下列问题:
1.计算该系统中个资源的总数
2.计算Need矩阵的内容
3.解释什么是安全状态
4.如果进程P5提出资源请求(0,4,2,1),这个请求能否被满足?为什么?
5.如果进程P2提出资源请求(0,3,1,0),这个请求能否被满足?为什么?
二、参考答案
1.(A,B,C,D)的总数为(4,12,14,9)
A = 1+1+1+1 =4
B = 1+3+3+5=12
C=1+2+5+2+2+2=14
D=1+4+1+3=9
2.
| 进程 |
Need(还需要资源数) (A B C D) |
| P1 | 0 2 1 1 |
| P2 | 0 4 2 1 |
| P3 | 0 0 1 0 |
| P4 | 1 3 2 1 |
| P5 | 1 5 2 1 |
3.安全状态::若系统能够找到一个进程执行序列,使得系统只要按此序列为每个进程分配资源,就可以保证进程的资源分配和执行顺序完成,此时称系统处于安全状态
4.不能满足,因为P5请求的资源比系统可用资源多,D资源没有
5.能满足,系统为P2分配资源后,仍然可以找到一个安全序列:P3、P1、P2、P4、P5
因为满足了请求所以P2变化了已分配资源数等
| 进程 |
Allocation(已分配资源数) (A B C D) |
Max(最大需要资源数) (A B C D) |
Need(还需要资源数) (A B C D) |
Avaliable(可用资源数) (A B C D) |
顺序 |
| P1 | 0 0 1 1 | 0 2 2 2 | 0 2 1 1 | 3 9 9 4 | 3 |
| P2 | 1 4 3 0 | 1 5 4 1 | 0 1 1 1 | 2 5 6 4 | 2 |
| P3 | 1 3 5 4 | 1 3 6 4 | 0 0 1 0 | 1 5 2 0 | 1 |
| P4 | 1 3 2 1 | 2 6 4 2 | 1 3 2 1 | 3 9 10 5 | 4 |
| P5 | 0 0 2 3 | 1 5 4 4 | 1 5 2 1 | 3 9 12 8 | 5 |
操作系统综合题之“银行家算法,计算各资源总数和Need还需要数量和解释什么是安全状态以及银行家进阶题(额外提出资源请求计算是否满足)”的更多相关文章
- 用python实现银行家算法
编制模拟银行家算法的程序,并以下面给出的例子验证所编写的程序的正确性. 进程 已占资源 最大需求数 资源种类 A B C D A B C D P0 0 0 1 2 0 0 1 2 P1 1 0 0 0 ...
- 【操作系统】银行家算法实现(C语言)
[操作系统]银行家算法实现(C语言) 注意:本人编码水平很菜.算是自己的一个总结.可能会有我还没有发现的bug.如果有人发现后可以指出,不胜感激. 1.银行家算法: 我们可以把操作系统看作是银行家,操 ...
- Round() 四舍五入 js银行家算法(转)
首先问一下round(0.825,2) 返回的结果,大家猜一猜, 首先SQL server 返回的是 0.83 js的返回结果 是0.83,code 如下: var b = 0.825; ...
- 银行家算法java实现
关于银行家算法的理论知识,课本或者百度上有好多资料,我就不再多说了,这里把我最近写的银行家算法的实现带码贴出来. 由于这是我们的一个实验,对系统资源数和进程数都指定了,所以这里也将其指定了,其中系统资 ...
- 操作系统,银行家算法模拟实现(Windows 环境 C++)
计算机操作系统课设需要,写了两个下午的银行家算法(陷在bug里出不来耽误了很多时间),参考计算机操作系统(汤子瀛) 实现过程中不涉及难度较大的算法,仅根据银行家算法的思想和步骤进行实现.以下为详细步骤 ...
- Round() 四舍五入 js银行家算法
首先问一下round(0.825,2) 返回的结果,大家猜一猜, 首先SQL server 返回的是 0.83 js的返回结果 是0.83,code 如下: var b = 0.825; ...
- [OS] 死锁相关知识点以及银行家算法详解
因此我们先来介绍一下死锁: 死锁特征 当出现死锁时,进程永远不能完成,并且系统资源被阻碍使用,阻止了其他作业开始执行.在讨论处理死锁问题的各种方法之前,先深入讨论一下死锁的特征. ·必要条件 (1)互 ...
- 银行家算法之JavaScript实现
上学期有个课程叫做操作系统,期末的时候这课程还有个课程设计,其中有个题目叫做银行家算法. 什么是银行家算法我就不解释了! 看着同学们的设计,大同小异甚至前篇一律. 清一色的控制台程序,清一色的蛋疼输入 ...
- C语言实现 操作系统 银行家算法
/**************************************************** 银行家算法 算法思想: 1. 在多个进程中,挑选资源需求最小的进程Pmin. 可能存在多类资 ...
- java面试题之死锁产生的条件,以及如何避免死锁,银行家算法,产生死锁后如何解决(阿里面试题)
死锁产生的四个必要条件: 互斥:一个资源每次只能被一个进程使用(资源独立) 请求与保持:一个进程因请求资源而阻塞时,对已获得的资源保持不放(不释放锁) 不剥夺:进程已获得的资源,在未使用之前,不能强行 ...
随机推荐
- SparkRDD算子(transformations算子和actions算子)
RDD提供了两种类型的操作:transformation和action1.所有的transformation都是采用的懒策略,如果只是将transformation提交是不会执行计算的,计算只有在ac ...
- 在 Aspire 项目下使用 AgileConfig
什么是 Aspire .NET Aspire 是一组工具.模板和包,用于构建易于监控的.可投入生产的应用程序..NET Aspire 通过一系列 NuGet 包交付,这些包通过启动或解决现代应用开发中 ...
- 【ABAQUS模态动力学】Material-Damping 对模态分析的影响
先说结论,执行Frequency Step (特征值提取)时定义材料行为中的Damping 行为,对结果没有影响. 1. abaqus calculation compare 1.1 ANALYSIS ...
- zookeeper windows 安装
下载 zookeeper 下载地址为: https://zookeeper.apache.org/releases.html. 选择一个地址点击版本下载: 配置 下载后解压到指定磁盘的 zookeep ...
- vue 保留两位小数
前言 有时候我们需要对各种数值进行保留位数,以便于更好的展示. Html部分 template中这样使用,需要处理的字段名,再加上过滤器方法 <div class="text prim ...
- OpnenHarmony 开源鸿蒙北向开发——2.第一个工程HelloWorld
一.新建项目 我们打开IDE后,选择新建项目 选择这一个 设置参数 设置完成后选择Finish 项目创建后会自动下载一些东西,不用担心 二.运行 我们先什么都不用管,直接运行 先设置设备,我们这里 ...
- PaddleOCR学习笔记1
尝试使用PaddleOCR方法,如何使用自定义的模型方法,参数怎么配置,图片识别尝试简单提高识别率方法. 目前仅仅只是初步学习下如何使用PaddleOCR的方法. 一,测试识别图片: 1.png : ...
- some notes
.displaynone { display: none } https://voce.chat/zh-CN 一个开源的迷你的国产开源聊天软件,服务端非常小,只有 15MB. 4 分钟前 虽然没有办法 ...
- Windows 提权-密码搜寻
本文通过 Google 翻译 Password Hunting – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释 ...
- BUUCTF---传感器
题目 5555555595555A65556AA696AA6666666955 这是某压力传感器无线数据包解调后但未解码的报文(hex) 已知其ID为0xFED31F,请继续将报文完整解码,提交hex ...