操作系统:进程与线程(三)死锁

news/2024/5/20 13:54:12 标签: 操作系统, 同步与互斥, 进程与线程, 死锁

一战成硕

2.4 死锁

2.4.1 死锁的概念

  1. 死锁的定义
    多个进程因竞争资源而造成的一种僵局(互相等待)
    死锁发生条件:互斥、不可剥夺、请求和保持、循环等待
    在这里插入图片描述

  2. 死锁产生的原因
    (1)系统资源的竞争
    (2)进程推进顺序非法
    (3)死锁产生的必要条件

  3. 死锁的处理策略
    1)预防死锁
    2)避免死锁
    3)死锁的检测及解除
    在这里插入图片描述

在这里插入图片描述

2.4.2 死锁的预防

防止死锁发生只需破坏四个必要条件之一

  1. 破坏互斥条件
  2. 破坏不剥夺条件
  3. 破坏请求并保持条件
  4. 破坏循环等待条件
    在这里插入图片描述

2.4.3 死锁避免

  1. 系统安全状态
    在这里插入图片描述
  2. 银行家算法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.4.4 死锁的检测和接触

  1. 资源分配图
    在这里插入图片描述
  2. 死锁定理
    在这里插入图片描述
    在这里插入图片描述
  3. 死锁解除
    在这里插入图片描述
    在这里插入图片描述

http://www.niftyadmin.cn/n/5130613.html

相关文章

06条件判断

if语句的基本语法 if关键字后面跟一个判断条件 如果条件成立那么就运行判断条件里面的代码 else处理条件不满足时候的代码块 m 9 if m > 10:print("买一瓶醋") else:print("钱不够,请带够钱再来吧!")#条件判断流程图 进入网…

Java NIO 开发

Java NIO 新篇介绍加示例代码 Java NIO(New IO)是 JDK 1.4 引入的一组新的 I/O API,用于支持非阻塞式 I/O 操作。相比传统的 Java IO API,NIO 提供了更快、更灵活的 I/O 操作方式,可以用于构建高性能网络应用程序。 Ja…

深入浅出排序算法之基数排序

目录 1. 前言 1.1 什么是基数排序⭐⭐⭐ 1.2 执行流程⭐⭐⭐⭐⭐ 2. 代码实现⭐⭐⭐ 3. 性能分析⭐⭐ 3.1 时间复杂度 3.2 空间复杂度 1. 前言 一个算法,只有理解算法的思路才是真正地认识该算法,不能单纯记住某个算法的实现代码! 1.…

File文件查找

用的是递归调用, (递归死循环的结果是导致栈内存溢出错误) 一.代码 package org.example;import java.io.File;public class day03 {public static void main(String[] args) {//文件查找,在d:temp下查找改名.mp4sea…

【驱动开发】基于GPIO子系统编写LED驱动,编写应用程序进行测试设置定时器,5秒钟打印一次hello world

基于GPIO子系统编写LED驱动&#xff0c;编写应用程序进行测试&#xff0c;设置定时器&#xff0c;5秒钟打印一次hello world 驱动程序&#xff1a; #include <linux/init.h> #include <linux/module.h> #include <linux/of.h> #include <linux/of_gpio.…

单/多文本溢出省略

一、单行文本溢出省略 .text {width: 200px;text-overflow: ellipsis; /* 溢出部分展示省略号&#xff0c;设置下两个后此属性才生效 */overflow: hidden; /* 超出部分隐藏 */white-space: nowrap; /* 单行展示&#xff0c;不换行 */border: 1px solid yellowgreen; }二、多行…

哨兵1和2号遥感数据请求失败

哨兵1和2号遥感数据请求失败 问题描述 在23年10月底下载哨兵数据的时候发现&#xff0c;22年12月前的哨兵数据都请求失败了&#xff0c;但是之后的数据都能够下载&#xff0c;是否是哨兵数据下载也有时间限制&#xff1f;网站上只能保存近一年来的数据呢&#xff1f; 解决方案…

Redis(06)| 数据结构-整数集合

整数集合是 Set 对象的底层实现之一。当一个 Set 对象只包含整数值元素&#xff0c;并且元素数量不大时&#xff0c;就会使用整数集这个数据结构作为底层实现。 整数集合结构设计 整数集合本质上是一块连续内存空间&#xff0c;它的结构定义如下&#xff1a; typedef struct…