调度及死锁自测题答案.docVIP

  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文档。上传文档
查看更多
基本题答案 一、判断题 1. Χ 2. Χ 3. √ 4. Χ 5. √ 6. Χ 7. Χ 8. Χ 9. Χ 10. √ 二、选择题 1. A 2. C 3. A 4. D 5. D 6. D 7. B 8. D 9. C 10. D 11. A 12. C 13. B 14. A 15. C 16. B 17. B 18. B 19. B 三、填空题 1. 死锁预防 死锁避免 死锁检测与解除态 2. 不剥夺条件 3. 死锁避免 4. 剥夺方式 非剥夺方式 5. 进程 6. 静态 动态 静态 动态 7. 处理机 8. 先来先服务 9. 互斥条件 不剥夺条件 部分分配 环路条件 10. 资源剥夺法 死锁 11. 安全状态 不安全状态 12. 部分分配 13. 死锁的避免 死锁的预防 死锁的解除 解析题答案 一、论述题 1. 答:(1) 为了有效地判定在特定环境下是否出现死锁,必须配置死锁预防或避免算法。通过配置死锁避免算法,减少平均等待时间。 (2) 若不把重点放在使等待时间变为最少这一点上,那么不配置死锁预防或避免算法会减少成本。 2. 答:进程必须完全地撤离(中止重新开始)或只是退回到前面的安全态。对于第一种情形,这种撤离的开销由其优先数、它已运行了多长时间、在完成前还需多少时间,以及所需的资源类型等因素来决定;对于第二种情形,为了确定进程最近的安全态,系统需要保留有关每一进程的许多信息。 3. 答:测饥饿现象事实上需要“未来知识”。因为对进程“过去知识”的统计资料还不能判定进程“前进”与否,但通过使进程“老化”可预防饥饿现象。这意味着对每一进程管理需设置一个撤消计数器,而且在选择进程作为“抢占/撤消”对象时,把它作为开销因素的一部分来考虑。 二、计算题 1. 答:对死锁预防无影响;对死锁避免有影响,该系统可能不再处于安全状态;对死锁检测有影响,虽不会产生死锁,但必须更新等待图以反映系统状态的变更。 2. 答:(1) 内部资源:资源定序方法;(2) 主存:抢占和交换的方法;(3) 作业资源:死锁避免方法;(4) 可交换空间:预分法。 3. 答:Rm(1,2,…,m可看作资源编号)和P1,P2,…Pn表示。根据有序资源分配法可知,进程申请资源时必须按照资源编号的升序进行,即任何进程在占有了Ri类资源后,再申请的资源Rj的编号j一定大于i。因此在任一时刻,系统中至少存在一个进程Pk,它占有了较高编号的资源Rh且它继续请求的资源必然是空闲的,因而Pk可以一直向前推进直至完成。当Pk运行完成后即会释放它占有的所有资源。在Pk完成之后,剩下的进程集合中同样会存在一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直向前推进直至完成。以此类推,所有进程均可运行完成,故不会发生死锁。 9. 答:可考虑的因素有: (1) 优先权;(2) 进程己执行的时间;(3) 估计的剩余执行时间; (4) 己产生的输出量;(5) 已获得的资源量和资源类型; (6) 还需要的资源量; (7) 进程的类型(批处理型或交互型); (8) 需要被撤消的进程数等。 10. 答:如果对调生产者进程中的两个P操作和两个V操作,则生产者和消费者问题的同步描述为: int full=0; /*满缓冲单元的数目*/ int empty=n; /*空缓冲单元的数目*/ int mutex=1; /*对有界缓冲区进行操作的互斥信号量*/ main() { parbegin producer (); consumer (); parend } producer () { while (生产未完成) { 生产一个产品; p(mutex); p(empty); 送一个产品到有界缓冲区; v(full); v(mutex); } } consumer () { while (还要继续消费) { p(full); p(mutex); 从有界缓冲区中取产品: v(mutex); v(empty); 消费一个产品; } } 由于V操作是释放资源,因此对调V操作的次序无关紧要。而对调P操作的次序则可能导致死锁。这是因为对调P操作后,有可能出现这样一种特殊情况:在某一时刻缓冲区中己装满了产品且缓冲区中无进程工作(这时信号量如full的值为 n,信号量empty的

文档评论(0)

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

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档