操作系统的死锁 主要是介绍了 进程直接发生的特殊情况,内存中每个进程互相等待对方手里的资源,导致各个进程都阻塞,无法向前推进,导致死锁。

主要的重点冷月做出了标识,知识点如下图(pdf版或xmind源文件请关注公众号:学长冷月,回复操作系统)。

冷月点睛

死锁

定义

内存中每个进程互相等待对方手里的资源,导致各个进程都阻塞,无法向前推进

产生条件

系统资源的不恰当分配

进程推进顺序非法

产生死锁的四个必要条件

互斥条件

进程互斥访问临界资源

不可剥夺条件

已经分配给进程的资源不可被其他进程剥夺

请求与保持条件

已经请求到了资源且还在请求其他进程手里的资源

环形等待条件

形成了一个环形资源请求链

死锁的处理

事先预防,不允许死锁发生

死锁预防,破坏互斥条件,破坏不可剥夺条件,破坏请求与保持条件,破坏环形等待条件

死锁避免,银行家算法

事后处理

允许死锁发生

死锁的检测与解除

资源分配图

死锁检查算法,依次消除不会阻塞进程的边,直到无边可消

死锁定理,资源分配图无法完全简化则发生死锁

©著作权归作者所有:来自51CTO博客作者mb608817c2954e5的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 进程与线程 - 入门知识篇
  2. 网络编程基础2
  3. 在nodejs中创建child process
  4. MySQL死锁系列-线上死锁问题排查思路
  5. 【故障处理】队列等待之TX - allocate ITL entry引起的死锁处理(
  6. TimesTen学习(四)Data Manager守护进程
  7. Linux进程基础
  8. Linux从程序到进程
  9. 手把手教Linux驱动5-自旋锁、信号量、互斥体概述

随机推荐

  1. Android帧率测试
  2. Android Interface Definition Language
  3. Android之ListView中的分割线
  4. Android中Gallery图片与视频选择冲突的原
  5. Android架构分析之Android消息处理机制(三
  6. 理解 Java 的 GC 与 幽灵引用
  7. android 工程库及引用
  8. Android启动过程深入解析
  9. Android(安卓)Notification 用法的4种形
  10. 《Android开发从零开始》――13.Table La