郭建涛:死锁原因及解决_第1页
郭建涛:死锁原因及解决_第2页
郭建涛:死锁原因及解决_第3页
全文预览已结束

下载本文档

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

文档简介

1、死锁原因及解决.避免办法死锁的条件互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。请求与保持条件(Hold and wait):逬程已获得了一些资源,但因请求其它资源被阻塞时, 对已获得的资源保持不放。不可抢占条件(No pre-emption):有些系统资源是不可抢占的,当某个逬程已获得 这种资源后,系统不能强行收回,只能由进程使用完时自己释放。循环等待条件(Circular wait):若干个进程形成环形链,每个都占用对方申请的下一个资源。处理死锁的策略1、忽略该问题。例如鸵鸟算法。2、检测死锁并且恢复。3、仔细地对资源逬行动态分配,以避免死锁。4、通过破

2、除死锁四个必要条件之一,来防止死锁产生。鸵鸟算法:该算法可以应用在极少发生死锁的的情况下。为什么叫鸵鸟算法呢,因为传说中鸵鸟看到危 险就把头埋在地底下,可能鸵鸟觉得看不到危险也就没危险了吧。跟掩耳盗铃有点像。银行家算法:所i胃银行家算法,是指在分配资源之前先看清楚,资源分配后是否会导致系统死锁。如果会死锁,则不分配,否则就分配。按照银行家算法的思想,当进程请求资源时,系统将按如下原则分配系统资源:(1) 当一个进程对资源的最大需求呈不超过系统中的资源数时可以接纳该进程。(2) 进程可以分期请求资源,当请求的总数不能超过最大需求量。(3) 当系统现有的资源不能满足迸程尚需资源数时,对进程的请求可

3、以推迟分配,但总能使 进程在有限的时间里得到资源。(4) 当系统现有的资源能满足进程尚需资源数时,必须测试系统现存的资源能否满足该进程 尚需的最大资源数,若能满足则按当前的申请星分配资源,否则也要推迟分配。解决死锁的策略对待死锁的策略主要有: 死锁预防:破坏导致死锁必要条件中的任意一个就可以预防死锁。例如,要求用户申请 资源时一次性申请所需要的全部资源,这就破坏了保持和等待条件;将资源分层,得到上一 层资源后,才能够申请下一层资源,它破坏了环路等待条件。预防通常会降氐系统的效率。 死锁避免:避免是指进程在每次申请资源时判断这些操作是否安全,例如,使用银行家 算法。死锁避免算法的执行会增加系统的

4、开销。(3)死锁检测:死锁预防和避免都是事前措施,而死锁的检测则是判断系统是否处于死锁状 态,如果是,则执行死锁解除策略。 死锁解除:这是与死锁检测结合使用的,它使用的方式就是剥夺。即将某逬程所拥有的 资源强行收回,分配给其他的进程。死锁的避免: 死锁的预防是通过破坏产生条件来阻止死锁的产生,但这种方法破坏了系统的并行性和并发 性。死锁产生的前三个条件是死锁产生的必要条件,也就是说要产生死锁必须具备的条件,而不 是存在这3个条件就一走产生死锁,那么只要在逻辑上回避了第四个条件就可以避免死锁。避免死锁采用的是允许前三个条件存在,但通过合理的资源分酉法来确保永远不会形成环 形等待的封闭进程链,从而避免死锁。该方法支持多个进程的并行执行,为了避免死锁,系 统动态的确走是否分配一个资源给请求的进程。方法如下:1如果一个进程的当前请求的资源会导致死锁,系

温馨提示

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

评论

0/150

提交评论