首页 > 编程知识 正文

死锁产生的必要条件,死锁定义及必要条件

时间:2023-05-04 14:24:22 阅读:177811 作者:2751

什么是死锁?

死锁是两个或多个进程在运行过程中因冲突资源或相互通信而被阻塞的现象,必须有外力作用才能推进。 此时,这些永远互相等待的过程被称为死锁过程,即系统处于死锁状态或系统发生死锁。

例如,在一个计算机系统中只有一台打印机和输入设备,进程P1占用输入设备的同时要求使用打印机,但此时打印机被进程P2占用,P2在释放打印机之前被P1占用的输入数据这样,两个进程相互继续等待,任何一个都无法继续执行,陷入死锁状态。

死锁产生的原因:

1 .系统资源的竞争如果系统中多个进程共享的资源数量(如打印机、共享队列等)不足以满足各进程的需求,则会发生对各进程资源的竞争,从而导致死锁。

2 .进程执行推进顺序不当死锁进程推进顺序合法进程P1和P2同时执行时,按以下顺序推进时。 P1 :请求(R1 ); P1 :请求(R2; p 1:版本(R1 ); p 1:版本(R2 ); p2 :请求(R2; p2 :请求(R1; p 2:版本(R2 ); p 2:版本(R1 ); 这两个过程顺利完成,不引起过程死锁的推进顺序是合法的。 如果33558www.Sina.com/p1保留资源R1,而P2保留资源R2,则系统不安全,因为这两个进程再向前可能会发生死锁。 例如,如果运行到p1:request(r2 ),R2将因被P2占用而被阻止。 p2 :运行到request (r1 )的情况下,由于R1被P1占用而被屏蔽,会发生进程死锁。进程推进顺序非法

产生死锁的四个必要条件:表示进程独占使用分配的资源。 这意味着在一段时间内,某个资源只由一个进程占用。 如果此时其他进程正在请求资源,则请求者只能等待,直到占用资源的进程完全释放。

互斥条件:进程至少保留了一项资源,但提出了新的资源要求。 该资源已经被其他进程占有,此时请求进程被屏蔽,但对自己获得的资源却置之不理。

请求与保持条件:进程获得的资源在未使用之前不得被其他进程强制剥夺。 也就是说,获得该资源的进程自身只能释放(只能积极释放)。

不可剥夺条件)发生死锁时,进程——资源所在的环形链,即进程集合(P0、P1、P2、、pn )的P0将占用一个P1的资源P1正在等待P2占用的资源。Pn正在等待P0占用的资源。

这4个条件是死锁的必要条件,只要系统不发生死锁,这些条件就一定成立,但只要不满足上述条件的任一个,就不会发生死锁。

循环等待条件

死锁的避免与预防系统动态检查每个系统能满足的资源申请,并根据检查结果决定是否分配资源。 分配后,如果系统可能发生死锁,则不分配,否则分配。 这是一种防止系统进入死锁状态的动态策略。

了解死锁的原因,特别是发生死锁的四个先决条件后,就可以尽可能地避免、预防和解除死锁。 只需打破四个必要条件之一就能有效预防死锁的发生:

死锁避免的基本思想::将垄断性资源改造为虚拟资源,大部分资源无法改造。

打破互斥条件:进程占用独占资源后,申请独占资源不满意的,退出原占用资源。

打破不可抢占条件:采用资源预分配战略。 也就是说,在流程执行前申请所有资源,满意就执行,否则就等待。 那样就不会占用申请了。

打破占有且申请条件:实现资源有序分配策略,对所有设备实现分类号,所有流程只能以逐号递增的形式申请资源。

>

死锁避免和死锁预防的区别:

  死锁预防是设法至少破坏产生死锁的四个必要条件之一,严格的防止死锁的出现;而死锁避免则不那么严格的限制产生死锁的必要条件的存在,因为即使死锁的必要条件存在,也不一定发生死锁。死锁避免是在系统运行过程中注意避免死锁的最终发生。

 

 

实例演示

下面通过一个例子对安全状态和不安全状态进行更深的了解 :
  

  如上图所示系统处于安全状态,系统剩余3个资源,可以把其中的2个分配给P3,此时P3已经获得了所有的资源,执行完毕后还能还给系统4个资源,此时系统剩余5个资源所以满足(P2所需的资源不超过系统当前剩余量与P3当前占有资源量之和),同理P1也可以在P2执行完毕后获得自己需要的资源。 
  如果P1提出再申请一个资源的要求,系统从剩余的资源中分配一个给进程P1,此时系统剩余2个资源,新的状态图如下:那么是否仍是安全序列呢那我们来分析一下 
  

  系统当前剩余2个资源,分配给P3后P3执行完毕还给系统4个资源,但是P2需要5个资源,P1需要6个资源,他们都无法获得资源执行完成,因此找不到一个安全序列。此时系统转到了不安全状态。

 

转载于:https://www.cnblogs.com/hpdjm-ZhangCG/p/9038223.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。