文章目录

  • 一:死锁检测算法
    • (1)资源分配图
    • (2)死锁定理
  • 二:死锁解除算法

如果系统中既不采取预防死锁的措施,也不采取避免死锁的措施,系统就极有可能发生死锁,在这种情况下系统应当提供两个算法:

  • 死锁检测算法:用于检测系统状态,以确定系统中是否发生了死锁
  • 死锁解除算法:当认定系统中已经发生了死锁,利用该算法可将系统从死锁状态中解脱出来

一:死锁检测算法

为了能对系统是否已经发生了死锁进行检测,必须

  • 使用某种数据结构来保存资源的请求和分配信息-资源分配图
  • 提供一种算法,利用上述信息来检测系统是否进入了死锁状态

(1)资源分配图

两种结点

  • 进程结点:

(王道408考研操作系统)第二章进程管理-第四节3:死锁处理策略之检测和解除相关推荐

  1. (王道408考研操作系统)第二章进程管理-第四节1:死锁相关概念

    一:死锁的基本概念 (1)死锁定义 死锁:所谓死锁,是指多个进程因竞争资源而造成的一种互相等待的局面,若无外力作用,这些进程将无法向前推进 生活中死锁的例子: 1:我拿了你房间的钥匙,而我在自己的房间 ...

  2. (王道408考研操作系统)第二章进程管理-第四节2:死锁处理策略之避免死锁(银行家算法)

    文章目录 一:安全状态.安全序列 二:银行家算法 (1)数据结构描述 (2)银行家算法描述 (3)安全性算法 一:安全状态.安全序列 避免死锁:允许进程动态申请资源,但系统在进行资源分配的时候,应该先 ...

  3. (王道408考研操作系统)第二章进程管理-第四节2:死锁处理策略之预防死锁

    文章目录 一:破坏互斥条件 二:破坏不可剥夺条件 三:破坏持有并等待条件 四:破坏循环等待条件 预防死锁:破坏死锁产生的四个必要条件中的一个或几个 互斥条件 持有并等待条件 不可剥夺条件 循环等待条件 ...

  4. (王道408考研操作系统)第二章进程管理-第三节10:经典同步问题之哲学家进餐问题

    本文接: (王道408考研操作系统)第二章进程管理-第三节6:经典同步问题之生产者与消费者问题 ((王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题 (王道408 ...

  5. (王道408考研操作系统)第二章进程管理-第三节8:经典同步问题之吸烟者问题

    本文接: (王道408考研操作系统)第二章进程管理-第三节6:经典同步问题之生产者与消费者问题 ((王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题 文章目录 一 ...

  6. (王道408考研操作系统)第二章进程管理-第三节7:经典同步问题之多生产者与多消费者问题

    注意:生产者与消费者问题Linux系统编程专栏有案例讲解 Linux系统编程39:多线程之基于阻塞队列生产者与消费者模型 Linux系统编程40:多线程之基于环形队列的生产者与消费者模型 本文接:(王 ...

  7. (王道408考研操作系统)第二章进程管理-第一节4:进程通信(配合Linux)

    文章目录 一:什么是进程通信 二:如何实现进程间通信及其分类 三:通信方式1-共享存储(共享内存) (1)课本基础内容 (2)补充-Linux中的进程通信 四:通信方式2-管道 (1)管道是什么 (2 ...

  8. (王道408考研操作系统)第二章进程管理-第一节3:进程控制(配合Linux讲解)

    文章目录 一:如何实现进程控制 二:进程控制原语 (1)进程创建 A:概述 B:补充-Linux中的创建进程操作 ①:fork() ②:fork()相关问题 (2)进程终止 A:概述 B:补充-僵尸进 ...

  9. (王道408考研操作系统)第二章进程管理-第一节1:进程、PCB及其特征

    注意: 本章内容涉及进程,测试环境选在Linux下,因为我们可以阅读其源代码,有助于理解 Linux中的命令不会涉及太专业,需要说明的地方都会说明,读者只需关注其功能,无需过于操心原理 有兴趣的读者可 ...

最新文章

  1. 理解GRUB2工作原理及配置选项与方法
  2. Java 面试,这样拿 Offer!
  3. 创意留言墙图片_年会攻略2|创意合影墙、特色文化墙,有点意思启动仪式,继续玩出彩!!...
  4. windows c语言判断是不是nan,C++ 判断浮点数是否为Nan值
  5. hystrix熔断 简介_Hystrix简介–总结
  6. python常用函数中文_【python】python常用函数
  7. JVM对象占用内存计算
  8. oracle跳过undo回滚段启动,[Oracle] 解析在没有备份的情况下undo损坏怎么办
  9. 红帽Linux故障定位技术详解与实例(3)
  10. 【Kafka】BrokerNotAvailableException: Error choosing node for describeLogDirs: no node found.
  11. 自反馈与 Mandelbrot set
  12. Spark.shuffle.file.buffer 参数入门
  13. linux java keytool_JDK自带的keytool证书工具详解
  14. matlab 液压控制系统设计,基于MATLAB的液压系统的设计与仿真
  15. 计算机网络基础 (一) —— 概念、组成、功能、分类
  16. 重磅发布:《AI产品经理的实操手册(2021版)——AI产品经理大本营的4年1000篇干货合辑》(PDF)...
  17. 百度相关搜索是怎么出现的如何利用
  18. Android应用安全
  19. 俄罗斯方块的源码实现
  20. 用Python从零复现A星寻路算法 | 手撕代码#1

热门文章

  1. java maven module_java – Maven JDK9模块:无法解析module-info
  2. 华为手机免root改mac_拿到华为手机,这4个默认设置一定要改,不然流量电量很快被耗光...
  3. Anaconda3的安装
  4. AutoCAD 2021 macOS Big Sur 11版 注册机无法打开?注册机怎么使用?
  5. P5715 【深基3.例8】三位数排序(python3实现)
  6. 【原型设计】第二节:Axure RP9制作自己的元件库的操作教程
  7. 小程序添加和删除新元素功能实例
  8. 分区界限必须调整为高于最后一个分区界限_不花一分钱,为SSD硬盘腾空间
  9. STM32F407+CubeMX-使用TIM计算编码器的脉冲总数,并计算脉冲方向
  10. python3.6.5安装tensorflow_Win10下用Anaconda安装TensorFlow(图文教程)