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

一战成硕

    • [2.4 死锁](#2.4 死锁)
      • [2.4.1 死锁的概念](#2.4.1 死锁的概念)
      • [2.4.2 死锁的预防](#2.4.2 死锁的预防)
      • [2.4.3 死锁避免](#2.4.3 死锁避免)
      • [2.4.4 死锁的检测和接触](#2.4.4 死锁的检测和接触)

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. 死锁解除

相关推荐
想做后端的小C21 小时前
操作系统:SPOOLing(假脱机技术)
操作系统·假脱机技术
小林up1 天前
【MIT-OS6.S081作业5.1】Lab5-lazy page allocation-Eliminate allocation from sbrk()
操作系统·xv6
AthlonxpX861 天前
关于OceanBase tpmC场景与异数OS 元宇宙OLTP场景的异同答疑。
操作系统·oceanbase·架构师·元宇宙·tps·oltp·数据库引擎
fakerth1 天前
【OpenHarmony】Hiview架构
架构·操作系统·openharmony
Trouvaille ~2 天前
【Linux】库制作与原理(二):ELF格式与静态链接原理
linux·运维·c语言·操作系统·动静态库·静态链接·elf文件
小李独爱秋2 天前
Linux操作系统实验报告单(13) 显示进程列表
linux·运维·服务器·操作系统·实验报告单
_OP_CHEN2 天前
【Linux系统编程】(十八)Linux 进程创建与终止进阶:等待机制与程序替换的底层密码
linux·服务器·操作系统·进程·进程等待·进程替换·exec函数族
柏木乃一3 天前
进程(6)进程切换,Linux中的进程组织,Linux进程调度算法
linux·服务器·c++·算法·架构·操作系统
_OP_CHEN3 天前
【Linux系统编程】(十七)揭秘 Linux 进程创建与终止:从 fork 到 exit 的底层逻辑全解析
linux·运维·服务器·操作系统·shell·进程·进程创建与终止