操作系统之调度--死锁

死锁的介绍:多个进程并发运行,对临界资源的访问出现问题

造成死锁的核心原因

系统资源不足

(资源数〈要求该种资源的进程数)

进程的推进顺序非法(不合理)

在这里插入图片描述

死锁的必要条件

(1)互斥条件:至少有一个资源是临界资源。
(2)不可剥夺条件:资源不能被抢占。
(3)请求与保持条件:一个进程占有一个资源,并等待另一个资源。
(4)环路条件:存在一个进程-资源的环形链。

环路条件
在这里插入图片描述

死锁的解决方法

破坏必要条件其中之一即可

例如破坏请求与保持

采用预先静态分配方法
系统要求所有进程一次性地申请其所需的全部资源

优点:
方法简单

缺点:
进程延迟运行
资源浪费
用户有时提不出他要使用的全部资源

排队消除环路等待

在这里插入图片描述

避免死锁是通过明智的选择,确保系统永远不会到达死锁点。即动态地决定是否分配资源给进程!

在这里插入图片描述

原文地址:https://www.cnblogs.com/AmosAlbert/p/12832170.html