操作系统学习--死锁和饿死

一、死锁原理

一组互斥的进程资源竞争或相互通信的永久阻塞


二、两种资源

(1)可重用资源:不会由于消费而减少,如I/O,存储空间。一次只能供一个进程安全使用。

处理这类死锁的策略施加关于资源请求顺序的约束

(2)可消费资源:可以创建,可以销毁的资源,如中断,信号,通信


三、死锁的四个条件

(1)互斥

(2)占用等待

(3)非剥夺

(4)循环等待


四、死锁的解决方案

(1)死锁预防

①间接预防:防止前三个条件中的任何一个的发生

②直接预防:防止循环等待的发生

(2)死锁避免

①进程启动拒绝:不启动任何一个可能发生死锁的进程

②资源请求拒绝:拒绝可能发生死锁的资源请求

(3)死锁检测

①死锁检测算法

②恢复策略:一旦检测到死锁,就要立即恢复。



没有更多推荐了,返回首页