第06章并发性:死锁和饥饿.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 6.5 一种综合的死锁策略 综合方法 把资源分成几组不同的资源类 为预防在资源类之间由于循环等待产生死锁?使用线性排序策略 在一个资源类中,使用该类资源最合适的算法 * 6.6 哲学家就餐问题 * 6.6.1 使用信号量解决方案 死锁? 方案一:增加可用资源(买叉子) 方案二:限制合理使用资源 * 6.6.1 使用信号量解决方案 * 6.6.2 使用管程解决方案 fork( )?? fork[ ] * 作业 复习题: 6.2、6.3 习题:6.3、6.5、6.6、6.7、6.10、6.13、6.14、6.17 * 练习一 设系统中有3种类型的资源(A,B,C)和5个进程(P1、P2、P3、P4、P5),A资源的数量为17,B资源的数量为5,C资源的数量为20.在T0时刻系统的状态如下所示。系统采用银行家算法实施死锁避免策略。 T0时刻是否为安全状态?若是,请给出安全序列。 在T0时刻,若进程P2请求资源(0,3,4),是否能实施资源分配?为什么? 在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么? 在③的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么? 最大资源需求量 已分配资源数量 A B C A B C P1 P2 P3 P4 P5 5 5 9 5 3 6 4 0 11 4 2 5 4 2 4 2 1 2 4 0 2 4 0 5 2 0 4 3 1 4 * 练习二 已知某系统中的所有资源是相同的(只有一种资源),系统中的进程严格按照一次一个的方式申请或释放资源。在此系统中,没有进程所需要的资源数量超过系统的资源总拥有数量,试对下面列出的情况说明是否会发生死锁。 情况序号 系统中进程数 资源总量 A B C D 1 2 2 2 2 1 2 3 * 练习三 假定某计算机系统有R1和R2两类可重用资源(其中R1有2个实例,R2有一个实例),它们被进程P1和P2所共享,且已知两个进程均以下列的顺序使用两类资源: ?申请R1?申请R2?申请R1?释放R1?释放R2?释放R1? (1)试求出系统运行过程中可能达到的死锁点,并画出死锁点的资源分配图。 条件变更:R1有3个实例,R2有两个实例,被4个进程P1、P2、P3、P4所共享。 * 练习四 某个系统有两个进程和三个资源。每个进程最多需要两个资源。这种情况下有没有可能发生死锁?为什么? 假设有三个进程,每个进程需要四个资源,则系统至少需要有多少资源才会保证不会死锁? 假设现在有P个进程,每个进程最多需要m个资源,并且有r个资源可用。什么样的条件可以保证死锁不会发生? * 供 通知 下周四(12月27日)随堂小测 范围:3、5、6、8章 * * 第六章 并发性:死锁和饥饿 厦门大学软件学院 吴清强 操作系统 * 6.1 死锁原理 死锁 一组竞争系统资源或互相通信的进程间相互的“永久”阻塞 没有一个有效的解决方案 涉及到两个或多个的进程间因对资源的需求所引起的冲突 当一组进程中的所有进程都在等待一个事件(等待请求资源的释放),而只有在进程集合中的其它阻塞的进程才可以触发该事件,这时就称一组进程死锁 * 6.1 死锁原理 * 6.1 死锁原理 进程P …… 获得A …… 获得B …… 释放A …… 释放B …… 进程Q …… 获得B …… 获得A …… 释放B …… 释放A …… 是否可能死锁? * 进程P …… 获得A …… 释放A …… 获得B …… 释放B …… 进程Q …… 获得B …… 获得A …… 释放B …… 释放A …… 6.1 死锁原理 是否可能死锁? * 6.1.1 可重用资源 资源分类:可重用的、可消费的 可重用资源 一次只能供一个进程安全地使用,并且不会由于使用而耗尽的资源 进程申请资源?获得?使用?释放?其它进程申请、获得、使用、释放。。。。。。 可重用资源例 处理器 I/O通道 主存、辅存 设备 文件 数据库 信号量等等 * 可重用资源死锁例(两个进程竞争两个资源) 如果每个进程占有一个资源并申请另外一个资源 执行轨迹:p0p1q0q1p2q2 ??死锁 6.1.1 可重用资源 * 主存可用空间20

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档