网站大量收购独家精品文档,联系QQ:2885784924

操作系统第3章处理机调度及死锁.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TechEd 2002 第三章 处理机调度与死锁 一、处理机的3级调度 二、作业的状态与处理流程 一、先来先服务调度算法 二、时间片轮转调度算法 三、优先级调度算法 四、多级队列调度算法 一、作业控制块 二、选择调度算法时应考虑问题 一、先来先服务调度算法 二、短作业优先调度算法 三、最短剩余时间优先调度算法 四、高响应比优先调度算法 §3.7 死锁的避免(银行家算法) 举例4:系统总体情况如上例,某一时刻资源占用情况如表a。 现进程P5提出申请1台打印机,请依据“银行家算法”进行判断。 【 E[6 3 4 2] 资源总数;P[5 3 3 2] 已分配数;A[1 0 1 0] 剩余数】 0 1 1 1 P3 1 0 1 1 P4 0 1 1 打印机 0 1 0 绘图仪 0 0 P5 0 0 P2 1 3 P1 CD-ROM 磁带机 进程 0 0 1 3 P3 0 1 0 0 P4 1 0 0 打印机 1 1 1 绘图仪 0 2 P5 2 0 P2 0 1 P1 CD-ROM 磁带机 进程 表a. 某时刻,各进程已分配资源数(左表)和还需资源数(右表) §3.7 死锁的避免(银行家算法) 1. 假定系统接受进程P5请求,修改向量表P、A和P5的行向量。 2. 逐行检查右表,发觉现时系统资源剩余A向量[1 0 0 0],无法满足任何一个进程的需求。 3.结论:如接受P5进程一台打印机的请求,所导致的系统状态将是不安全的,有产生死锁的可能。 【资源总数E[6 3 4 2];已分配数P[5 3 4 2];剩余数A[1 0 0 0]】 0 1 1 1 P3 1 0 1 1 P4 1 1 1 打印机 0 1 0 绘图仪 0 0 P5 0 0 P2 1 3 P1 CD-ROM 磁带机 进程 0 0 1 3 P3 0 1 0 0 P4 0 0 0 打印机 1 1 1 绘图仪 0 2 P5 2 0 P2 0 1 P1 CD-ROM 磁带机 进程 表b. 假设系统分配一打印机给E后情况 操作系统术语 3 1、调度: Scheduler 2、响应时间: Response Time 3、最短作业优先:Shortest Process Next 4、最高响应比优先:Highest Response Ratio Next 5、时间片轮转:Round-Robin 6、死锁: Deadlock 7、死锁预防: Deadlock Prevention 8、死锁避免: Deadlock Abstention 9、死锁检测: Deadlock Detection 10、死锁恢复: Deadlock Restoration 作业 3 1. P102 #16 2. P102 #19 3. P102 #20 § 3.5 死锁的基本概念 图解 当共同进展路径是按图中的路径1前进,这时不会发生死锁,因为B进程在A进程提出对输入设备的要求前,已完成了对输入设备和输出设备的使用,并且释放了它们。反之在B进程对输出设备提出要求前,A进程已完成了对输入输入和输出设备的使用,并且释放了它们。这种共同进展路径也不会使系统成为死锁状态。但是如果二进程的共同进展路径按照这样的路径向前进时,A进程占有了输入设备,B进程占有了输出设备,从而共同进展路径进入了危险区。 § 3.5 死锁的基本概念 图解 危险区的右上角的顶点是死锁点。共同进展路径在危险区中前进时必定会到达危险区边缘(上边、右边或死锁点),设到达了危险区的右边。这时的情况是B进程仍然占有输出设备,但尚未提出占有输入设备的要求。而A进程占有着输入设备,并且提出对输出设备的要求。A进程由于资源要求不能满足而被阻塞,这时只有B进程使用处理机并取得进展,直到B进程提出对输入设备请求进也被阻塞。系统成为死锁状态。二进程的共同进展路径到达死锁点以后就无法前进了。 § 3.5 死锁的基本概念 例3. 进程通讯 (计算机通讯中)设有四个进程P、S、Q、R,用四个(buffer)缓冲区进行通讯,进程分别有如下代码: 进程P:send (R.1); 通过1号buffer向R发信息 waiter (R.answer); 等待R的回答 send (Q.2); 通过2号buffer向Q发信息 进程R:send (S.3); 通过3号buffer向S发信息 waiter (S.answer); 等待S的回答 Receive (P.1); 接收P从1号buffer送来的信息 answer (P); 回答P § 3.5 死锁的基本概念 P P S R Q 2 1 4 3 满 空 空 满 buffer 进程S:Receive (Q.4); 接收Q从4号buffer送来的信息 Receive (

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档