冷月手撕408之操作系统(11)-死锁
16lz
2021-04-28
操作系统的死锁 主要是介绍了 进程直接发生的特殊情况,内存中每个进程互相等待对方手里的资源,导致各个进程都阻塞,无法向前推进,导致死锁。
主要的重点冷月做出了标识,知识点如下图(pdf版或xmind源文件请关注公众号:学长冷月,回复操作系统)。
冷月点睛
死锁
定义
内存中每个进程互相等待对方手里的资源,导致各个进程都阻塞,无法向前推进
产生条件
系统资源的不恰当分配
进程推进顺序非法
产生死锁的四个必要条件
互斥条件
进程互斥访问临界资源
不可剥夺条件
已经分配给进程的资源不可被其他进程剥夺
请求与保持条件
已经请求到了资源且还在请求其他进程手里的资源
环形等待条件
形成了一个环形资源请求链
死锁的处理
事先预防,不允许死锁发生
死锁预防,破坏互斥条件,破坏不可剥夺条件,破坏请求与保持条件,破坏环形等待条件
死锁避免,银行家算法
事后处理
允许死锁发生
死锁的检测与解除
资源分配图
死锁检查算法,依次消除不会阻塞进程的边,直到无边可消
死锁定理,资源分配图无法完全简化则发生死锁
©著作权归作者所有:来自51CTO博客作者mb608817c2954e5的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- 进程与线程 - 入门知识篇
- 网络编程基础2
- 在nodejs中创建child process
- MySQL死锁系列-线上死锁问题排查思路
- 【故障处理】队列等待之TX - allocate ITL entry引起的死锁处理(
- TimesTen学习(四)Data Manager守护进程
- Linux进程基础
- Linux从程序到进程
- 手把手教Linux驱动5-自旋锁、信号量、互斥体概述