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

一战成硕

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

相关推荐
charlie1145141913 天前
Cinux: 为大内核铺路
开发语言·c++·操作系统·现代c++
饼干哥哥3 天前
每晚300+个爆款疯狂跑,0人值守TikTok工厂开张!!
后端·操作系统·产品
小宇子2B3 天前
文件页怎么回收:page cache、干净页和脏页
操作系统
m0_547486664 天前
《系统级编程及分布式应用实现技术》 全套PPT课件
操作系统·系统级编程
小宇子2B4 天前
匿名页怎么回收:反向映射、swap entry、swap cache 和换入
操作系统
小宇子2B4 天前
区间树:反向映射的前置数据结构
操作系统
AI人工智能+电脑小能手4 天前
【大白话说Java面试题 第172题】【07_Redis篇】第8题:`setnx` 做分布式锁存在的问题
java·redis·分布式锁·死锁·setnx
半条-咸鱼4 天前
【FreeRTOS】核心原理与实战速查手册
c语言·操作系统·rtos
花花无缺5 天前
Windows 定时执行 Python 脚本方案
python·操作系统·命令行
小宇子2B5 天前
LRU 不只是最近最少使用:active/inactive、anon/file、folio 和分代 LRU
操作系统