操作系统死锁的必要条件
学习啦在线学习网 操作系统中死锁产生是需要条件的,这几个条件缺一不可,是必要条件。下面由学习啦小编为大家整理了操作系统的死锁产生的必要条件相关知识,希望对大家有帮助!
一、操作系统死锁产生的必要条件
产生死锁的四个必要条件
学习啦在线学习网 -----互斥条件:一个资源每次只能被一个进程(线程)使用。
学习啦在线学习网 -----不可剥夺条件:一个进程(线程)对已获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能又该进程自愿释放。
学习啦在线学习网 -----请求保持条件条件: 进程(线程)每次申请它所需要的一部分资源,在申请新资源的同时继续占用已分配的资源。
-----循坏等待条件: 多个进程(线程)之间形成一种头尾相接的循环等待资源关系,即前一个进程占有后一个进程所请求的资源。
学习啦在线学习网 注:这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之 一不满足,就不会发生死锁。
二、参考:解决死锁的方法
-----预防死锁(破坏产生死锁的条件)
学习啦在线学习网 -----避免死锁(银行家算法)
-----检测死锁(资源分配图)
-----解除死锁
学习啦在线学习网 注:第三条与第四条一般联合使用
预防死锁的策略
-----破坏互斥条件(SPOOLing)
----- 允许剥夺其他进程的资源(破坏不可剥夺条件)
学习啦在线学习网 -----一次性分配所有的资源(破坏请求与保持条件)
学习啦在线学习网 -----有序分配资源(破坏请求与保持条件)
检测死锁的策略
资源分配图
解除死锁的策略
学习啦在线学习网 -----撤销进程
-----撤消陷于死锁的全部进程
-----逐个撤消陷于死锁的进程,直到死锁不存在
学习啦在线学习网 -----剥夺资源
学习啦在线学习网 -----将陷于死锁的进程所占用的资源逐个强迫放弃,直至死锁消失
-----从另外一些进程那里强行剥夺足够数量的资源分配给死锁进程,以解除死锁状态