死锁的概念,产生的主要原因,必要条件以及预防与处理策略

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37962600/article/details/78238998

一.死锁的概念

两个或多个进程被无限的阻塞,相互等待的一种状态。

二.死锁产生的原因

1.资源分配不当

2.系统资源不足(进程间就会为了争夺资源而产生死锁)

3.进程运行推进顺序不当

三.产生死锁的必要条件


1.资源独占;(一个资源每次只能给一个进程使用)

2.不可剥夺;(资源申请者不能强行从资源占用者手中夺取资源,除非资源占用者自己心甘情愿的释放)

3.部分分配,申请占用;(一个进程在申请新的资源的同时保持着对原资源的占用(动态申请,动态分配))

4.循环等待;({a1,a2,a3,......an},假设这是一组进程,那么就会出现,a1等待a2占用的资源,a2等待a3占用的资源..........,an等待a1占用的资源,一直这样形成一个等待回路)

四.处理策略

死锁的处理策略有:鸵鸟策略,预防策略,避免策略,检测与恢复策略

鸵鸟策略:也可以理解为忽略策略,就是当产生死锁时不去管它。(在计算机操作系统中如果真的发生死锁且影响系统正常运行,我们可以手动干预---重启)



为了避免不发生死锁,我们必须阻止上述四个必要条件之一不能发生(预防死锁策略),或者允许死锁发生,但要能够检测出死锁,并且有能力恢复(检测与恢复策略)


避免死锁策略:在资源动态分配的过程中,用某种方法阻止系统进入不安全状态。


三种策略的优缺点比较:





阅读更多
换一批

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