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

一战成硕

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

相关推荐
望获linux2 天前
【实时Linux实战系列】实时数据流处理框架分析
linux·运维·前端·数据库·chrome·操作系统·wpf
unfetteredman2 天前
Mac查看端口使用信息
操作系统·mac
闪电麦坤953 天前
操作系统:RPC 中可能遇到的问题(Issues in RPC)
rpc·操作系统
闪电麦坤953 天前
操作系统:远程过程调用( Remote Procedure Call,RPC)
rpc·操作系统
丐中丐9995 天前
Android系统中如何在Native层调用java实现的系统服务
android·操作系统
丐中丐9995 天前
在Android中利用抽象类对外提供系统接口
android·操作系统
我命由我123456 天前
Windows 操作系统 - Windows 设置始终使用 Windows 照片查看器打开图片
运维·windows·经验分享·笔记·学习·操作系统·运维开发
huangyuchi.6 天前
【Linux】环境变量
linux·运维·操作系统·环境变量·系统调用·命令行参数·main函数参数
pedestrian_h7 天前
操作系统-lecture5(线程)
操作系统·线程·进程
Jooolin7 天前
【Linux】指令大全!常用的都在这了~
linux·操作系统·ai编程