第三章-处理机调度与死锁.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 处理机调度与死锁;教学目的与要求:;教学重点,难点:;教学内容:;;;3.1 处理机调度的层次;3.1.1、作业调度 将外存作业调入内存,创建PCB等,插入就绪队列。 一般用于批处理系统,分/实时系统一般直接入内存,无此环节。 调度特性 1.接纳作业数(内存驻留数) 太多――― 周转时间T长 太少――― 系统效率低 2.接纳策略:即采用何种调度算法:FCFS、短作业优先等;3.1.2、低级调度(进程调度,短程调度) 1.低级调度的功能 保存处理机的现场信息 按某种算法选取进程 把处理器分配给进程 2.进程调度中的三个基本机制 排队器 分派器(分派程序) 上下文切换机制;;;3.2 调度队列模型和准则;3.2.1调度队列模型;3、具有三级调度的调度队列模型;3.2.2 选择调度方式和算法的若干准则 ;平均周转时间 平均带权 可见带权w越小越好,Ts为实际服务时间。;2.响应时间快:(对交互性作业) 概念:键盘提交请求到首次响应时间 (1)输入传送时间 (2)处理时间 (3)响应传送时间 3.截止时间的保证(特别于实时系统) 4.优先权准则:(即需要抢占调度);二、面向系统的准则 1.吞吐量高(特别于批处理):单位时间完成作业数 2.处理机利用率好:(因CPU贵,特别于大中型多用户系统) 3.各类资源的平衡利用。;3.3 调度算法——是一个资源分配问题 ;; 例;图3.4FCFS和SJF比较;;;;高响应比优先调度算法;;;;;时间片轮转法调度模型;图3-5 q=1和q=4时的进程运行情况 ;图3-6 q=1和q=4时进程的周转时间 ;3.3.3 基于时间片的轮转调度算法;多级反馈队列调度算法;就绪队列1;调度算法应用例子;FCFS先来先服务调度;Eg: 进程 到达时间 服务时间 P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4 SPF (非抢占式) 平均周转时间=((7-0)+(12-2)+(8-4)+(16-5))/4=8 平均等待时间 = ((0-0)+(8-2)+(7-4)+(12-5))/4 = 4;SPF抢占式调度;时间片轮转调度算法;时间片轮转调度算法;非抢占式优先权算法;抢占式优先权算法;;3.4.1实现实时调度的基本条件 1.提供必要的调度信息 (1)就绪时间; (2)开始/完成截止时间; (3)处理时间; (4)资源要求; (5)优先级; 2.系统处??能力强 ;3.4.1实现实时调度的基本条件 3.采用抢占调度方式 剥夺方式:一般都采用此 非剥夺方式(实现简单):一般应使实时任务较小,以及时放弃CPU。 4.具有快速切换机制 具有快速响应外部中断能力。 快速任务分派;3.4.2实时调度算法的分类;进程1;当前进程;c 基于时钟中断抢占的优先权抢占调度;当前进程;3.4.3 常用的几种实时调度算法;最早截止时间优先EDF例;图3-10 最早截止时间优先算法用于抢占调度方式之例 ;2. 最低松弛度优先LLF算法;最低松弛度优先LLF算法(2);3.5 产生死锁的原因和必要条件;;产生死锁的原因可归结为如下两点: 竞争资源。当系统中供多个进程共享的资源如打印机、公用队列等,其数目不足以满足诸进程的需要时,会引起诸进程对资源的竞争而产生死锁。 进程间推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,也同样会导致产生死锁。;竞争资源引起进程死锁;竞争资源引起进程死锁;竞争资源引起进程死锁;3.5产生死锁的原因和必要条件;图3-14 进程之间通信时的死锁 ;由于进程在运行中具有异步性特征,这就可能使上述P1和P2两个进程按下述两种顺序向前推进。 进程推进顺序合法 进程推进顺序非法;进程推进顺序不当引起死锁。;3.5.2 产生死锁的必要条件;3.5.3 处理死锁的基本方法;3.5.3 处理死锁的基本方法;3.5.3 处理死锁的基本方法;3.5.3 处理死锁的基本方法;4.解除死锁 这是与死锁检测相配套的一种措施。当检测到系统中已发生死锁时,须将进程从死锁状态中解脱出来。常用的实施方法是撤销或挂起一些进程,以便回收一些资源,再将这些资源分配给已处于阻塞状态的进程,使之转为就绪状态,以继续运行。死锁的检测与解除措施,有可能使系统获得较好的资源利用率和吞吐量,但在实现上难度也最大。;3.6 预防和避免死锁的方法;3.6.1 预防死锁;摒弃“请求和保持”条件;摒弃“不剥夺”条件;摒弃“环路等待”条件;3.6.2 系统安全状态;安全状态;安全状态之例;3.6.2 系统的安全状态(3);3.6.3 利用银行家算法避免死锁;3.6.3 利用银行家算法避免死锁;3.6.3 利用银行家算法避免死锁;(2)从进程集合中找到一

文档评论(0)

beifanglei + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档