- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
饥饿 产生饥饿的主要原因是:在一个动态系统中,对于每类系统资源,操作系统需要确定一个分配策略,当多个进程同时申请某类资源时,由分配策略确定资源分配给进程的次序。有时资源分配策略可能是不公平的,即不能保证等待时间上界的存在。在这种情况下,即使系统没有发生死锁,某些进程也可能会长时间等待.当等待时间给进程推进和响应带来明显影响时,称发生了进程饥饿,当饥饿到一定程度的进程所赋予的任务即使完成也不再具有实际意义时称该进程被饿死。举个例子,当有多个进程需要打印文件时,如果系统分配打印机的策略是最短文件优先,那么长文件的打印任务将由于短文件的源源不断到来而被无限期推迟,导致最终的饥饿甚至饿死。 饥饿没有其产生的必要条件,随机性很强。并且饥饿可以被消除,因此也将忙式等待时发生的饥饿称为活锁。 由于饥饿和饿死与资源分配策略有关,因而解决饥饿与饿死问题可从资源分配策略的公平性考虑,确保所有进程不被忽视。如时间片轮转算法(RR)。它将CPU的处理时间分成一个个时间片,就绪队列中的诸进程轮流运行一个时间片,当时间片结束时,就强迫运行程序让出CPU,该进程进入就绪队列,等待下一次调度。同时,进程调度又去选择就绪队列中的一个进程,分配给它一个时间片,以投入运行。如此方式轮流调度。这样就可以在不考虑其他系统开销的情况下解决饥饿的问题。 死锁与饿死的差别 (1) 从进程状态考虑,死锁进程都处于等待状态,忙式等待(处于运行或就绪状态)的进程并非处于等待状态,但却可能被饿死; (2) 死锁进程等待永远不会被释放的资源,饿死进程等待会被释放但却不会分配给自己的资源,表现为等待时限没有上界(排队等待或忙式等待); (3) 死锁一定发生了循环等待,而饿死则不然。这也表明通过资源分配图可以检测死锁存在与否,但却不能检测是否有进程饿死; (4) 死锁一定涉及多个进程,而饥饿或被饿死的进程可能只有一个。 (5)在饥饿的情形下,系统中有至少一个进程能正常运行,只是饥饿进程得不到执行机会。而死锁则可能会最终使整个系统陷入死锁并崩溃。 (2) ?P1请求资源:P1发出请求向量Request1(1,0,2),系统按银行家算法进行检查: ① Request1(1,0,2)≤Need1(1,2,2) ② Request1(1,0,2)≤Available1(3,3,2) ③ 系统先假定可为P1分配资源,并修改Available,Allocation1和Need1向量,由此形成的资源变化情况如图3-16中的圆括号所示。 ④ 再利用安全性算法检查此时系统是否安全。如图3-18所示。 图3-18 P1申请资源时的安全性检查 (3) ?P4请求资源:P4发出请求向量Request4(3,3,0),系统按银行家算法进行检查: ① Request4(3,3,0)≤Need4(4,3,1); ② Request4(3,3,0)≤Available(2,3,0),让P4等待。 (4) ?P0请求资源:P0发出请求向量Requst0(0,2,0),系统按银行家算法进行检查: ① Request0(0,2,0)≤Need0(7,4,3); ② Request0(0,2,0)≤Available(2,3,0); ③ 系统暂时先假定可为P0分配资源,并修改有关数据,如图3-19所示。 图3-19 为P0分配资源后的有关资源数据 (5) 进行安全性检查:可用资源Available(2,1,0)已不能满足任何进程的需要,故系统进入不安全状态,此时系统不分配资源。 如果在银行家算法中,把P0发出的请求向量改为Request0(0,1,0),系统是否能将资源分配给它,请读者考虑。 3.7 死锁的检测与解除 3.7.1 死锁的检测 当系统为进程分配资源时,若未采取任何限制性措施,则系统必须提供检测和解除死锁的手段,为此,系统必须做到: (1) 保存有关资源的请求和分配信息; (2) 提供一种算法,以利用这些信息来检测系统是否已进入死锁状态。 1.资源分配图(Resource Allocation Graph) 系统死锁可利用资源分配图来描述。该图是由一组结点N和一组边E所组成的一个对偶G=(N1E),它具有下述形式的定义和限制: (1) 把N分为两个互斥的子集,即一组进程结点P={p1,p2,…,pn}和一组资源结点R={r1,r2,…,rn},N=P∪R。在图3-20所示的例子中,P={p1,p2},R={r1,r2},N={r1,r2}∪{p1,p2}。 (2) 凡属于E中的一个边e∈E,都连接着P中的一个结点和R中的一个结点,e={pi,rj}是资源请求边,由进程pi指向资源rj,它表示进
您可能关注的文档
最近下载
- 2025年从优秀村主干中考试录用乡镇街道机关公务员模拟试卷.docx VIP
- 微生物检验技士专业实践模拟试题1知识.doc VIP
- Unit 4 Seasons (说课稿)-2024-2025学年鲁科版五四制英语四年级上册.docx VIP
- 【工程文档】亮化工程技术交底.pdf VIP
- 客专联络线隧道临近既有线控制爆破施工专项方案116(分部控爆法 2013年).doc VIP
- 2025高考信息技术真题及答案2025.doc VIP
- 《自动化生产线安装与调试》课件——项目四 分拣站的安装与调试.pptx VIP
- 合同终止通知函8篇.docx VIP
- 华为公司人力资源管理纲要 总纲.docx VIP
- 川教版可爱的四川7至8年级 主题二 第5课《遍布四川的三国遗迹》 课件.pptx
原创力文档


文档评论(0)