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

一战成硕

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

相关推荐
『昊纸』℃11 小时前
C语言简介
c语言·操作系统·编程语言·应用领域·历史发展
cui_ruicheng1 天前
Linux网络编程(一):网络基础与协议概念
linux·网络·操作系统
12344522 天前
网络IO模型
后端·操作系统
量子炒饭大师2 天前
【一天一个计算机知识】Cyberpunk数据科学流 ——【如何去评定一款操作系统的价值】
计算机·操作系统
霞姐聊IT3 天前
三大并发技术—进程、线程和协程
linux·运维·网络·操作系统
磊 子3 天前
cpu是如何执行程序的?
数据库·操作系统·cpu
暴力求解3 天前
Linux---网络基础概念
linux·运维·服务器·网络·操作系统
岑梓铭4 天前
考研408《操作系统》复习笔记,第二章《2.3.3 + 2.3.4 经典同步问题、管程》
笔记·考研·操作系统·408·os
sulikey5 天前
操作系统磁盘 I/O:为何选择“块“而非“扇区“?
linux·操作系统·io·磁盘·磁盘io
Amazinqc6 天前
Mysql数据库数据软隔离的并发死锁情况
数据库·mysql·死锁