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

一战成硕

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

相关推荐
热爱前端的小张16 小时前
第三章 内存管理(下)
操作系统
易保山3 天前
MIT6.S081 - Lab6 Copy-on-Write(写时复制)
linux·操作系统·c
司六米希3 天前
【操作系统】查内存泄漏方法
操作系统
GoGeekBaird4 天前
69天探索操作系统-第58天:操作系统中的高级负载均衡
后端·操作系统
易保山5 天前
MIT6.S081 - Lab5 Lazy(延迟分配)
linux·操作系统·c
MuYe5 天前
Android Hook - 动态链接器命名空间机制
android·操作系统
热爱前端的小张6 天前
第一章 操作系统概述
操作系统
鑫鑫爱金金7 天前
存储管理(一)
操作系统
凉、介8 天前
SylixOS 中 select 原理及使用分析
c语言·网络·操作系统·select·sylixos
易保山9 天前
MIT6.S081 - Lab4(Trap)实验笔记
linux·操作系统·c