本文主要是介绍操作系统学习--死锁和饿死,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、死锁原理
一组互斥的进程资源竞争或相互通信的永久阻塞
二、两种资源
(1)可重用资源:不会由于消费而减少,如I/O,存储空间。一次只能供一个进程安全使用。
处理这类死锁的策略施加关于资源请求顺序的约束
(2)可消费资源:可以创建,可以销毁的资源,如中断,信号,通信
三、死锁的四个条件
(1)互斥
(2)占用等待
(3)非剥夺
(4)循环等待
四、死锁的解决方案
(1)死锁预防
①间接预防:防止前三个条件中的任何一个的发生
②直接预防:防止循环等待的发生
(2)死锁避免
①进程启动拒绝:不启动任何一个可能发生死锁的进程
②资源请求拒绝:拒绝可能发生死锁的资源请求
(3)死锁检测
①死锁检测算法
②恢复策略:一旦检测到死锁,就要立即恢复。
这篇关于操作系统学习--死锁和饿死的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!