《操作系统》第3章处理机调度与死锁1.ppt

《操作系统》第3章处理机调度与死锁1.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统原理 Principles of Operating System 第3章 处理机调度与死锁 处理机是计算机系统中的重要资源,处理机调度就是按照一定的规则分派处理机,合理地分配和使用处理机。传统操作系统处理机调度的单位是进程,现代操作系统处理机调度的单位是线程。如何在进程间或线程间分配和回收处理机,处理机调度算法对整个计算机系统的综合性能指标有重要影响,不仅影响处理机的利用率和用户进程的执行,还与内存等其他资源的使用密切相关。 3.1.1 处理机调度的类型 我们可把处理机调度分成宏观调度(作业调度)、中程调度(交换调度,涉及进程在内存和外存之间的交换)和微观调度(进程调度和线程调度)三个层次。 具有三级调度的调度队列模型 3.1.2 宏观调度 宏观调度在多道批处理系统中对应作业调度,就是按照系统所规定的调度算法从系统已接纳的一批作业中选取一个子集,做好运行前的准备工作,使其进入内存并运行。现代操作系统中一般不配备作业调度。作业调度完成以下几方面的工作: ①按某种调度算法从后备队列中选取一个子集。 ②为选中的作业子集分配所需的资源,如内存、外设等。 ③为选中的作业子集创建相关进程。 ④填写修改被选中的作业的JCB及有关表格。 ⑤作业完成时的善后工作。 3.1.3 微观调度 微观调度也称低级调度,微观调度才是真正的处理机调度,在实际系统中对应线程调度、进程调度或任务调度。 ⑴微观调度要解决的问题 WHAT:按什么原则分配CPU,即调度算法。 WHEN:何时分配CPU,即调度的时机。 HOW:如何分配CPU,即调度过程,进程的上下文切换。 ⑵进程调度器 操作系统为了对进程进行有效的监控,需要维护一些与进程相关的数据结构,记录所有进程的运行状况,并在进程出让处理机或调度程序剥夺执行状态进程占用的处理机时,选择适当的进程分派处理机,完成上下文切换。我们把操作系统内核中与进程调度相关代码称为进程调度器(dispatcher)。 ⑶调度方式 非剥夺方式:也叫非抢占方式,调度程序一旦把处理机分配给某进程或线程后便让它一直执行下去,直到进程或线程完成或等待某事件而阻塞时,才把处理机分配给另一个进程或线程。 剥夺方式:也叫抢占方式,当一个进程或线程正在执行时,系统可以基于某种原则,剥夺已分配给它的处理机,将处理机分配给其他进程或线程。常用的剥夺原则有优先权原则和时间片原则。 3.2 调度算法 ⒈选择调度方式和算法的若干准则 调度算法的确定基于一定因素,我们希望好的调度算法是,系统运行尽能多的任务,使CPU保持忙,使I/O保持忙,对所有任务公平合理,也要有轻重缓急,重要的任务优先处理。 衡量操作系统及计算机系统的重要指标如下: ①周转时间短。 ②响应时间快。 ③截止时间的保证。 ④优先权准则。 ⑤系统吞吐量高 ⑥处理机利用率好 ⑦各类资源的平衡利用 ①--④是面向用户的指标,⑤--⑦是面向系统的指标。采用何种调度方法,是衡量操作系统及计算机系统的重要指标之一。指标的好与差,对系统的使用直接产生影响。 ⒉调度性能评价指标 ①CPU的利用率:CPU是一个重要且昂贵的资源,人们需要使CPU尽可能忙,并希望它的利用率越高越好。CPU使用率从0%到100%,对于真实系统,它应从40%(轻负荷系统)到90%(重负荷使用的系统)。读者要注意CPU的利用率和使用率的含义,如果运行进程的个数多,各进程之间的时间片切换频繁,CPU的使用率很高,但将造成CPU的利用率越低。 ②吞吐量:如果CPU忙于执行进程,那么就要评估其工作量。其中一种测量工作量的方法称为吞吐量,吞吐量是指单位时间内所完成任务的数量。 ③周转时间:从一个特定任务的角度来看,重要指标是运行该任务需要花费多长时间。即从任务提交到任务完成的时间间隔称为周转时间。 周转时间Ti:Ti=Tci-Tpi (Tpi-进程提交时间,Tci-进程完成时间)。 周转时间是以下所有时间段之和,包括等待进入内存、在就绪队列中等待、阻塞队列中的等待时间、在CPU上执行等。等待时间包括等待进入内存、在就绪队列中等待、阻塞队列中的等待时间。 故Ti=Twi+Tsi (Twi-进程等待时间,Tsi-进程执行时间)。 为了去除进程本身因素的影响,在讨论处理机调度时也使用平均周转时间T和平均带权周转时间W作为衡量指标。 ④平均周转时间T 设:系统中有n个任务,则平均周转时间T为: (i =1,2…,n) 利用平均周转时间可衡量不同调度算法对相同任务流的调度性能。 ⑤带权周转时间W:带权周转时间是用周转时间除以进程的执行时间,能够合理反映任务长短差别的指标。 Wi=Ti/Tsi=(Twi+Tsi)/Tsi ⑥平均带权周转时间: (i =1,2…,n) 利用平均带权周转时间可比较某种调度算法对不相同任务流

文档评论(0)

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

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

1亿VIP精品文档

相关文档