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

一战成硕

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

相关推荐
W.W.H.1 小时前
FreeRTOS移植(保姆级教程)
经验分享·单片机·操作系统·freertos·rtos
程序员小崔日记5 小时前
当 AIR 只支持 Mac,我开始重新思考操作系统这件事
macos·操作系统·ai编程
NE_STOP1 天前
Linux进阶--系统备份、恢复与可视化管理工具webmin、bt宝塔
操作系统
NE_STOP1 天前
Linux进阶--日志管理
操作系统
NE_STOP2 天前
Linux--Shell编程入门
操作系统
今天又在写代码3 天前
操作系统v2
操作系统
wfsm3 天前
原码,反码,补码
操作系统
波特率1152004 天前
FreeRTOS当中的Mail Queue使用教程(CMSIS_v1)
单片机·操作系统·freertos
一叶飘零_sweeeet5 天前
深度剖析:Java 并发三大量难题 —— 死锁、活锁、饥饿全解
java·死锁·活锁·饥饿
艾莉丝努力练剑5 天前
【Linux线程】Linux系统多线程(七):<线程同步与互斥>线程同步(下)
java·linux·运维·服务器·c++·学习·操作系统