在银行家算法中,若出现表2-4所示的资源分配情况,试问:

  1. 该状态是否安全?
  2. 如果进程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。

银行家算法资源分配问题(例子!!!)相关推荐

  1. 7-2 银行家算法--申请资源 (30 分)

    7-2 银行家算法–申请资源 (30 分)(思路+详解)Come 乖宝宝们 一:前言 这道题需要用到前面的一道题 安全性检查 算法知识,所以强烈建议先看前面那道题 7-1 银行家算法–安全性检查 (2 ...

  2. 动态规划算法之资源分配问题及其空间优化方案

    资源分配问题:某厂根据计划安排,拟将n台相同的设备分配给m个车间,各车间获得这种设备后,可以为国家提供盈利Ci j(i台设备提供给j号车间将得到的利润,1≤i≤n,1≤j≤m).问如何分配,才使国家得 ...

  3. 随机洗牌算法 银行家算法

    1. 随机洗牌算法 https://blog.csdn.net/qq_26399665/article/details/79831490 Fisher-Yates Shuffle算法 最早提出这个洗牌 ...

  4. python银行家算法_Linux 死锁概念与银行家算法python 实现

    一 . 死锁的概念 接上篇 http://shaobaobaoer.cn/archives/680/linux-process-manager-note 在之前的哲学家吃饭的问题中,当每个哲学家都想进 ...

  5. [OS] 死锁相关知识点以及银行家算法详解

    因此我们先来介绍一下死锁: 死锁特征 当出现死锁时,进程永远不能完成,并且系统资源被阻碍使用,阻止了其他作业开始执行.在讨论处理死锁问题的各种方法之前,先深入讨论一下死锁的特征. ·必要条件 (1)互 ...

  6. 【操作系统/OS笔记15】死锁的系统模型,死锁的处理办法,银行家算法与死锁检验算法

    本次笔记内容: 11.1 死锁问题 11.2 系统模型 11.3 死锁特征 11.4 死锁处理办法 11.5 死锁预防和死锁避免 11.6 银行家算法 11.7 死锁检测和死锁恢复 文章目录 死锁问题 ...

  7. 死锁避免算法--银行家算法

    银行家算法 算法思想 银行家算法:银行家算法是从当前状态出发,按照系统各类资源剩余量逐个检查各进程需要申请的资源量,找到一个各类资源申请量均小于等于系统剩余资源量的进程P1.然后分配给该P1进程所请求 ...

  8. 【避免进程死锁】银行家算法

    一.概述 银行家算法(Banker's Algorithm)是一个避免进程死锁的著名算法,由 Dijkstra 于 1965 年提出.本文为笔者的读书笔记,结构如下: 死锁 银行家算法 例子展示 补充 ...

  9. [操作系统]死锁/RAG图/银行家算法

    1.1死锁定义 多个进程因为竞争资源而造成一种僵局,没有外力的作用下,这些进程无法向前推进 这种僵局可以解释为:每个进程继续执行所需的资源都被另一个进程占用 这里举一个简单的例子: 假设现在有进程P1 ...

最新文章

  1. 、简述global关键字的作用_详解static inline关键字
  2. 1~9组成三个3位的平方数
  3. 信奥中的数学:孙子定理 中国剩余定理
  4. mysql5.7参数简单介绍
  5. php socket_create卡顿,phpsocket_createundefined的异常解决方法
  6. Linux 命令(93)—— updatedb 命令
  7. ORM框架之Spring Data JPA(二)spring data jpa方式的基础增删改查
  8. webuploader java版本
  9. 74HC595引脚图时序图工作原理及pdf中文资料lsh
  10. Redis内存回收机制(Redis 过期策略、淘汰策略)
  11. 计算机专业比较好的加州州立,美国计算机专业大学排名前十
  12. 上海自考02290 c++语言程序设计试卷,上海交通大学工业自动化专业自考本科招生简章...
  13. Win7---保护眼睛的电脑窗口颜色设置
  14. Springboot定时任务【多线程处理】
  15. 苹果在旧设备中修复了两个 iOS 零日漏洞
  16. ArcMap-network analyst
  17. 【2019年04月04日】股市指数估值排名
  18. cordova多语言(国际化,本地化,全球化)
  19. python从邮箱获取指定邮件_用python提取并统计指定邮箱里的特定邮件
  20. win10 更新后摄像头问题

热门文章

  1. fiddler显示连接不是私密连接
  2. esim分布式云卡池技术
  3. 嵌入式的可移植性和可复用性
  4. 1688api 图片搜索功能
  5. 索尼电视A90J、A80J怎么安装蚂蚁市场下载第三方软件方法
  6. LoRa学习:SX127x芯片数字IO引脚映射
  7. 开启QQ登录保护仍被盗号——QQ安全机制全面分析
  8. C# MessageBox弹窗
  9. Python数据挖掘-NLTK文本分析+jieba中文文本挖掘
  10. 让eclipse有像vs2005一样的智能感知能力