- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章_进程管理
死锁处理策略: 一是鸵鸟策略。鸵鸟策略,即一种不理睬死锁的策略。像鸵鸟那样把头埋在沙子里,装做毫无问题。 二是预防策略。采用的办法是破坏产生死锁的四个必要条件中的一个或多个,向进程施加适当的限制,从而防止死锁的发生。 三是避免策略。产生死锁的四个必要条件有可能成立,但在资源动态分配的过程中可以使用某种办法防止系统进人不安全和死锁状态。 四是检测和解除。允许系统产生死锁,然后使用检测算法及时地发现并解除它。 一、死锁预防 定义: 在系统设计时确定资源分配算法,保证不发生死锁.具体的做法是破坏产生死锁的四个必要条件之一。 静态资源分配法:是打破资源的部分分配这个死锁产生的必要条件。即预先分配各并发进程所需要的全部资源。缺点是:一个进程不可能在执行前提出它所需要的全部资源、无论所需资源何时用到,一个进程只有在所有资源全部得到满足之后才能开始执行、对于那些不常用的资源造成浪费、降低了进程的并发性。 有序资源分配法:打破了环路等待条件,但资源序号的排定是一个难题,并且低序号资源可能被浪费。(哲学家就餐问题) 二、死锁避免 死锁避免方法并不是严格限制产生死锁必要条件的存在,只是防止系统进入不安全状态,从而避免死锁的发生。死锁避免算法就是避免系统进入不安全状态的算法。银行家(Banker)算法是最著名的死锁避免算法。 不安全状态一定导致死锁 银行家算法:银行家拥有一笔周转资金,客户要求分期贷款,如果客户能够得到各期贷款,就一定能够归还贷款,否则就一定不能归还贷款,银行家应谨慎的贷款,防止出现坏帐。 采用单种资源银行家算法避免死锁:操作系统(银行家)、操作系统管理的资源(周转资金)、进程(要求贷款的客户)。 (1)对每个请求进行检查,是否会导致不安全状态。若是,则不满足该请求;否则便满足。 (2)检查状态是否安全的方法是看他是否有足够的资源满足一个距最大需求最近的客户,如此反复下去。如果所有投资最终都被收回,则该状态是安全的,最初的请求可以批准。 多种资源的银行家算法: 总的资源E、已分配资源P、剩余资源A。 查找右边矩阵是否有一行,其未被满足的设备数均小于或等于向量A。如果找不到,系统将死锁,任何进程都无法运行结束。 若找到这样一行,可以假设它获得所需的资源并运行结束,将该进程标记为结束,并将资源加到向量A上。 重复以上两步,直到所有进程都标记为结束,则状态是安全的,否则将发生死锁。 死锁的检测和恢复 允许死锁发生,操作系统不断监视系统进展情况,判断死锁是否发生一旦死锁发生则采取专门的措施,解除死锁并以最小的代价恢复操作系统运行。 当进程进行资源请求时死锁检测算法检查并发进程组是否构成资源的请求和保持环路。 死锁的恢复办法较多。最简单的办法是终止各锁住进程,或按一定的顺序中止进程序列,直至已释放到有足够的资源来完成剩下的进程时为止。另外,也可以从被锁住进程强迫剥夺资源以解除死锁。 思考题 一个OS有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某个进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使用三个资源。若仅考虑这类资源,该系统有无可能产生死锁,为什么? 答:不可能。因为死锁产生的原因有两点:系统资源不足或推进顺序不当,在本题中,进程所需的最大资源数为60,而系统共有该类资源65个,其资源数已足够系统内各进程使用。 第3章???进程管理 3.5 进程同步、互斥与通信 观察者: 报告者: begin begin repeat repeat wait a car go through deley a time N=N+1; Print N ; N=0 ; until until end
文档评论(0)