19、死锁的处理策略:避免死锁

  • 思维导图
  • 安全序列
  • 银行家算法实现步骤
  • 银行家算法的实现

思维导图

安全序列

来看这样的情况:
由上述表格可知,B仍需50,A仍需30,T仍需20,我手中剩余40
方案一
我将30借给B,我手中剩余10;B仍需20,A仍需30,T仍需20;此时我手中剩余的钱借给谁都满足不了他们的需求;不安全
方案二
我将30借给A;A满足后将所有钱归还,此时我手中剩余50;
然后将50借给B;B满足后将所有钱归还,此时我手中剩余70;
然后我在将20借给T;T满足后将所有钱归还;此时手中剩余100;
这样都达到了B、A、T的需求;安全序列为:A->B->T(不唯一,满足即可)。我们称这样一个序列为安全序列。


如果系统处于安全状态,就一定不会发生死锁。如果系统进入不安全状态,就可能发生死锁。(处于不安全状态未必死锁,但死锁一定处于不安全状态)

剩余资源数:(3,3,2)
第一次分配:P1,满足;释放后剩余:(5,3,2)
第二次分配:P3,满足;释放后剩余:(7,4,3)
第三次分配:P0,满足;释放后剩余:(7,5,3)
第四次分配:P2,满足;释放后剩余:(10,5,5)
第五次分配:P4,满足;释放后剩余:(10,5,7)
安全序列:P1–P3–P0–P2–P4(不唯一)

银行家算法实现步骤

银行家算法的实现

操作系统之进程管理:19、死锁的处理策略:避免死锁(银行家算法)相关推荐

  1. 操作系统之进程管理-翟一鸣-专题视频课程

    操作系统之进程管理-192人已学习 课程介绍         主要内容是程序的并发执行及进程的概念,进程的状态及其转换,进程的同步与互斥,进程通信与调度,进程死锁的概念及解决死锁的方法,线程的概念及其 ...

  2. 视频教程-操作系统之进程管理-操作系统

    操作系统之进程管理 1979年出生于甘肃省兰州市,2001年7月本科毕业于西北师范大学计算机科学与技术专业,同年于烟台大学计算机学院任教至今:期间于2006年获得上海交通大学软件工程硕士学位,现为学院 ...

  3. 【操作系统】进程管理(五)—— 信号量机制

    [操作系统]进程管理(五)-- 信号量机制 前言 一.信号量机制 信号量机制--整型信号量 信号量机制--记录型信号量 二.用信号量机制实现进程互斥.同步.前驱关系 信号量机制实现进程互斥 信号量机制 ...

  4. 操作系统笔记——进程管理

    操作系统笔记--进程管理 2. 进程管理 2.1 进程与线程 2.1.1 进程的引入 前趋图 程序的顺序执行 程序的并发执行 2.1.2 进程的定义及描述 进程的定义 进程的特征 进程和程序的关系 进 ...

  5. 【操作系统】进程管理(二)

    [操作系统]进程管理(二) 一.前言 二.进程的基本概念 2.1 程序的顺序执行 2.2 程序的并发执行 2.3 进程的特征 2.4 进程的状态 2.5 进程控制块 三.进程控制 3.1 进程的创建 ...

  6. 操作系统之——进程管理:同步进程和进程互斥

    操作系统进程管理-同步和互斥 在看了操作系统关于进程管理中的同步互斥机制章节之后,甚是困惑,今天通过视频.网上博客资料学习之后,整理一下相关知识点. 进程管理 一.进程互斥 由于进程具有独立性和异步性 ...

  7. 死锁的处理策略—预防死锁、避免死锁、检测和解除死锁

    一.死锁的处理策略--预防死锁 (一)破坏互斥条件 互斥条件:只有对必须互斥使用的资源的争抢才会导致死锁. 如果把只能互斥使用的资源改造为允许共享使用,则系统不会进入死锁状态.比如: SPOOLing ...

  8. 操作系统之进程管理:17、死锁

    17.死锁 死锁现象 什么是死锁 死锁产生的必要条件(特点) 什么时候会发生死锁 死锁的处理策略 死锁. 饥饿. 死循环的区别 死锁现象 什么是死锁 在并发环境下, 各进程因竞争资源而造成的一种互相等 ...

  9. 操作系统之进程管理:20、死锁的检测和解除

    20.死锁的检测和解除 思维导图 死锁检测 死锁解除 思维导图 死锁检测 P1.P2:进程:R1.R2:某一类资源集合 绿边:已经被使用掉的资源个数:蓝边:进程请求的资源个数 由上图可知: P1使用了 ...

最新文章

  1. 程序编辑SHP文件并应用更改到数据源
  2. usaco ★Agri-Net 最短网络
  3. 2019年首趟春运年货集装箱班列抵达北京
  4. (006)RN开发之iOS真机调试
  5. python gis 经纬度 库_入门-Python-GIS坐标转换
  6. 机房重构 之 抽象工厂+反射+配置文件 实现数据库訪问
  7. C# Excel处理工具
  8. 信号扫描_图文并茂,一文读懂信号源
  9. RTP/RTCP中的Jitter
  10. VC++实现防火墙过滤
  11. 页面滚动到某一位置吸顶_vue监听滚动事件某元素吸顶或固定位置显示详解
  12. JSP — 项目篇《I》【打印九九乘法表】
  13. python操作cad的模块_利用python控制Autocad:pyautocad方式
  14. java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType的解决方案之一
  15. u盘iso安装服务器系统怎么安装win7系统安装系统教程,u盘iso安装系统,小编教你u盘怎么安装win7系统...
  16. 【京东电商网站主界面仿写——CSS第一部分】
  17. 控制过滤器Filter执行顺序
  18. Indexes: RDBMS vs Coherence vs Lucene
  19. 什么是大数据开发?看完我终于懂了......
  20. 3.堆栈指针寄存器 SP 详解

热门文章

  1. Python有多火,来看一份24小时榜单,从入门到进阶
  2. 2017年前端最受欢迎调查报告:ES 6,React和Sublime Text依然霸主
  3. vue实战案例:用学过的知识做一个小demo
  4. 浅谈javascript数值类型转换
  5. 将一个字段分成3个 php,整理几个方法
  6. Adobe illustrator 粉色背景字体是为什么 - 连载19
  7. 数学教材里的神秘数表在国外红出圈,网友:引人入胜、猜不到结局
  8. 27岁华裔小伙搞出美国新冠最准预测模型,一人干翻专业机构,彭博:Superstar...
  9. C/C++传递二维数组[转载]
  10. 如何解决pd16虚拟机 mac 联网失败问题?pd16 m1芯片版网络初始化失败问题!