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

一战成硕

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

相关推荐
碳苯1 小时前
【rCore OS 开源操作系统】Rust 枚举与模式匹配
开发语言·人工智能·后端·rust·操作系统·os
安红豆.15 小时前
Linux基础入门 --13 DAY(SHELL脚本编程基础)
linux·运维·操作系统
shimly12345616 小时前
(undone) 阅读 MapReduce 论文笔记
操作系统
碳苯2 天前
【rCore OS 开源操作系统】Rust HashMap应用 知识点及练习题
开发语言·rust·操作系统
碳苯2 天前
【rCore OS 开源操作系统】Rust mod模块和static生命周期 知识点及练习题
rust·操作系统·生命周期·模块·os
碳苯2 天前
【rCore OS 开源操作系统】Rust 练习题题解: Structs
rust·开源·操作系统·os·内存安全
结衣结衣.2 天前
Linux——环境变量
linux·运维·服务器·c语言·笔记·学习·操作系统
结衣结衣.2 天前
程序地址空间
linux·c语言·笔记·学习·操作系统
碳苯3 天前
【rCore OS 开源操作系统】Rust 练习题题解: Enums
rust·开源·操作系统·os·内存安全
AI视觉网奇3 天前
linux 目录文件夹操作
操作系统