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

一战成硕

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

相关推荐
fakerth1 天前
【OpenHarmony文件管理子系统】文件访问接口mod_fileio解析
操作系统·openharmony
fakerth1 天前
【OpenHarmony文件管理子系统】文件访问接口mod_file解析
操作系统·openharmony
IT成长日记1 天前
【Linux基础】Linux系统管理:深入理解Linux运行级别及其应用
linux·运维·服务器·操作系统·运行级别
Ziyoung2 天前
国产操作系统调研报告:产业现状与未来方向
操作系统
OpenAnolis小助手2 天前
睿思芯科正式加入龙蜥社区,携手共建 RISC-V 服务器生态新标杆
操作系统·龙蜥社区·risc-v·龙蜥生态
CYRUS_STUDIO2 天前
深入内核交互:用 strace 看清 Android 每一个系统调用
android·操作系统·逆向
码达拉2 天前
Linux开发必备:yum/vim/gcc/make全攻略
linux·面试·编辑器·操作系统·vim
CYRUS_STUDIO3 天前
FART 自动化脱壳框架优化实战:Bug 修复与代码改进记录
android·操作系统·逆向
CYRUS_STUDIO4 天前
Frida + FART 联手:解锁更强大的 Android 脱壳新姿势
android·操作系统·逆向