第七章处理机调度.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章处理机调度.ppt

第七章 处理机调度 授课教师:付勇智 fuyongzhi@swfc.edu.cn 西南林学院 基础部数理教研室 问题提纲 多任务操作系统是如何在多个任务间分配CPU的? 微观串行,宏观并行是如何实现的? 调度算法都有哪些?各算法有何特点? 调度算法的评价指标都有哪些,各是什么意义? 如何让程序消耗固定比例的CPU资源? 调度程序与调度算法 当有多个进程就绪时,操作系统必须决定先运行哪一个,OS中作出这种决定的部分称作调度程序。 调度程序从就绪队列中选取进程投入运行的策略,称为调度算法。 调度算法的评价标准 公平性-确保每个作业获得合理的CPU份额 效率-CPU真正用于运行作业的时间和总CPU时间之比(使CPU使用率尽可能高) 响应时间-作业从提交到首次获得CPU使用权之间的时间间隔(使交互用户的响应时间尽可能短) 周转时间-作业从提交到运行完毕之间的时间间隔(使批处理用户等待输出的时间尽可能短) 吞吐量-单位时间内完成的作业数目(每小时处理作业数最多) 进程调度的原理 为了保证不让进程运行得太久,几乎所有的计算机都内置了一个电子定时器或时钟,时钟周期性的发出中断信号,通常每秒50或60次。每发生一次时钟中断,OS都将运行,并决定当前进程是否应该继续运行,还是它已经占用了足够长的CPU时间,应该暂停让其他进程运行。 调度算法的分类 允许将逻辑上可运行的程序暂时挂起的策略称作可剥夺调度(preemptive scheduling)抢先式调度,抢占式调度 一个进程一旦运行则一直占用CPU,直到无法继续运行阻塞或终止退出才进行调度的方法称为非剥夺调度(nonpreemptive scheduling)非抢先式调度 MSDOS采用非剥夺调度 Windows和Unix采用可剥夺调度 先来先服务(FCFS) 将用户作业和就绪进程按提交顺序,或变为就绪状态的顺序先后排成队列,并按照先来先服务(first come first serve)的方式进行调度处理。 直观看,该算法在一般意义下是公平的。即每个作业或进程都按照它们在队列中的等待时间长短来决定它们是否优先享受服务。 不过,对于那些执行时间较短的作业或进程来说,如果他们在某些执行时间很长的进程之后到达,则它们将等待很长时间。 轮转法(Round-Robin) 一种最古老、最简单、最公平且使用最广泛的算法是时间片轮转调度算法。 轮转法将CPU时间划分成若干个短的时间片断(通常小于100ms),将这些时间片断轮流分配给各个就绪进程使用。如果时间片结束时,进程还没有运行完,则CPU将被剥夺并分配给另一个就绪进程使用;如果进程在时间片结束前阻塞或结束,则CPU理解发生切换。 Window和UNIX操作系统都是使用轮转法,或者轮转法的变形算法进行处理器调度的。 优先级调度(带优先级的轮转法) 在一个现实系统中,通常不同用户的进程需要得到的服务是不一样的,系统调度程序在保证部分公平性的基础上,应该尽量为重要性高的进程提供更好的服务。 调度思想:每个进程被赋予一个优先级,优先级最高的就绪进程率先被运行。 为了防止高优先级的进程无休止的运行下去,调度程序可以在每一个时钟中断适当降低当前进程的优先级。如果这时运行进程优先级低于次高优先级进程,则将进行进程切换。 对于高级别的用户进程,给予高的运行优先级 对于高优先级的用户作业收取运行费用相应也高 对于I/O密集型作业,给予比CPU密集型作业更高的运行优先级 例如:一个在后台收发电子邮件的进程进程应被赋予一个较低的优先级,而在屏幕上实时播放电影的进程因改被赋予较高的优先级。 多重队列 设立优先级类:属于最高级类的进程运行1个时间片,属于次高优先级类的进程运行2个时间片,再次以及4个时间片,依次类推。 当一个进程用完分配的时间片后,它被移到下一类。 例如:一个进程需要运行100个时间片。它最初被分配1个时间片,然后被换出。下次获得2个时间片,接下来分别是4、8、16、32、64。最后一次它只使用64个时间片中的37个便结束,该进程总共需要7次交换。 练习2.24 在CTSS上运行的一个进程需要30个时间片方能结束,则它需要被换入多少次?包括第一次,即开始运行之前。 最短作业优先(Shortest Job Fist) 对于各进程运行时间可预知的系统,可采用最短作业优先算法 当输入队列中有若干个同等重要的进程将被启动时,调度程序选择预计运行时间最短的进程投入运行 最短作业优先特点:系统吞吐量最大,平均周转时间最短,但对耗时进程造成不公平。 例:四个作业A、B、C、D运行时间分别为8、4、4、4分钟。若按图(a)所示顺序运行,则平均周转时间为: (8+12+16+20)/4=14分钟 若按图(b)所示顺序运行,则平均周转时间为: (4+8+12+20)/4=11分

文档评论(0)

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

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

1亿VIP精品文档

相关文档