第3章处理器调度与死锁(死锁)_第1页
第3章处理器调度与死锁(死锁)_第2页
第3章处理器调度与死锁(死锁)_第3页
第3章处理器调度与死锁(死锁)_第4页
第3章处理器调度与死锁(死锁)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.5死锁3.5.1死锁的形成3.5.2死锁的防止3.5.3死锁的避免3.5.4死锁的检测3.5.5死锁的解除3.5.1死锁的形成1.死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作这些进程都将永远不能再向前推进。2.形成死锁的起因:(1)系统的资源不足系统提供的资源数比要求使用资源的进程数少,或者是若干个进程要求资源的总数大于系统能提供的资源数。这时,进程间就会出现竞争资源的现象,如果对进程竞争的资源管理或分配不当就会引起死锁。(2)进程推进的顺序非法执行程序中两个或两个以上进程发生永久等待(阻塞),每个进程都在等待被其他进程占用并等待(阻塞)资源。(3)资源分配不当如果系统资源分配策略不当,更常见的可能是程序员写的程序有错误等,则会导致进程因竞争资源不当而产生死锁的现象。3.5.2死锁的防止1.出现死锁的四个必要条件:①互斥使用资源:每一个资源每次只能给一个进程使用。

②占有且等待资源:一个进程申请资源得不到满足时处于等待资源的状态,且不释放已占资源。③非抢夺式分配:任何一个进程不能抢夺另一个进程所占的资源,即已被占用的资源只能由占用进程自己来释放。④循环等待资源:存在一组进程,其中每一个进程分别等待另一个进程所占用的资源。2.采用一定的资源分配策略破坏这四个必要条件中的一个条件,则死锁就可防止。

静态分配。对资源采用静态分配策略可防止死锁.所谓静态分配是指进程必须在开始执行前就申请它所要的全部资源,当得到了所需要的全部资源后才开始执行。显然,采用静态分配资源后,进程在执行中不再申请资源,因而不可能出现等待资源的情况,这种分配策略使四个必要条件中的(2)和(4)不成立,也就不可能发生死锁。按序分配。把系统所有的资源排一个顺序,规定任何一个进程申请两个以上的资源时,总是先申请编号小的资源,再申请编号大的资源。按这种策略分配资源时也不会发生死锁,因为这种分配策略使四个必要条件中的(4)不成立。剥夺式分配。这种分配策略是当一个进程申请资源得不到满足时则可从另一个进程那里去抢夺。这种分配策略目前只适用于对处理器和生存资源的分配,这种分配策略破坏了四个必要条件中的(3),可防止死锁的发生。3.5.3死锁的避免在系统运行过程中允许资源的动态分配,但是在资源动态分配是采用银行家算法,避免系统进入不安全状态。例如,现在有12个资源供三个进程共享,进程1总共需要4个资源,但第一次先申请1个资源,进程2总共需要6个资源,第一次要求4个资源,进程3总共需要8个资源,第一次要5个资源。现在的分配情况如表所示

资源进程最大需求量第一次申请量P141P264P385这时,系统处于安全状态,因为剩余的2个资源可先供进程2使用,进程2在得到全部资源(6个)后能在有限时间内执行结束且也还所占的6个资源。然后这6个资源又可分给进程2和进程3,使每个进程都能在有限时间内得到全部资源而执行到结束。银行家算法是当系统现存的资源能满足进程的最大需求量时,才把资源分配给该进程的,只有这样才能确保系统是安全的。在上例中,剩余资源数是2,它只能满足进程2的要求(已占4个资源,还需2个)。所以当三个进程都想继续要求资源时,只能把资源先分配给进程2使用。如果把资源先分给进程1(或进程3)就会出现不安全状态,假定又给进程1分配了2个资源,那么每一个进程都不能得到所需的全部资源,它们都等待另一个进程归还资源,但任一进程在没有执行结束之前不归还资源,引起死锁。

3.5.4死锁的检测有的系统并不是经常会出现死锁的,所以,在分配资源时不加特别的限制,只要有剩余资源,总是把资源分给申请者。当然,这样可能会出现死锁。这种系统采用定时运行一个“死锁检测”程序,当检测到有死锁情况时再设法将其排除。

3.5.5死锁的解除当死锁检测程序检测到有死锁存在时,应设法将其解除,让系统从死锁状态中恢复过来。1.终止进程终止涉及死锁的进程的执行,系统可收回被终止进程所占的淘汰进行再分配,以达到解除死锁的目的。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论