操作系统教程—Linux实例分析 孟庆昌 第3章 处理机调度.ppt
《操作系统教程—Linux实例分析 孟庆昌 第3章 处理机调度.ppt》由会员分享,可在线阅读,更多相关《操作系统教程—Linux实例分析 孟庆昌 第3章 处理机调度.ppt(75页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3 3章章 处理机调度处理机调度 第第3章章 处理机调度处理机调度 3.1 调度级别调度级别 3.2 作业调度作业调度3.3 进程调度进程调度 3.4 性能评价标准性能评价标准 3.5 常用调度算法常用调度算法 3.6 Linux系统中的进程调度系统中的进程调度 习题习题 第第3 3章章 处理机调度处理机调度 3.1 调调 度度 级级 别别 一般来说,作业从进入系统到最后完成,可能要经历三级调度:高级调度、中级调度和低级调度。(1)高级调度:又称作业调度。(2)中级调度:为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调
2、度。第第3 3章章 处理机调度处理机调度 (3)低级调度:又称进程调度。其主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。第第3 3章章 处理机调度处理机调度 3.2 作作 业业 调调 度度 3.2.1 作业状态 如前所述,作业从提交给系统,直到完成任务后退出系统前,在整个活动过程中它会处于不同的状态。通常,作业状态分为四种:提交、后备、执行和完成,如图3-1所示。第第3 3章章 处理机调度处理机调度 图3-1 作业的基本状态第第3 3章章 处理机调度处理机调度 (1)提交状态即用户向系统提交一个作业时,该作业所处的状态。(2)后备状态即用户作业经输入设备(如读卡机)送入输入井(磁
3、盘)中存放,等待进入内存时所处的状况。(3)执行状态即作业分配到所需的资源,被调入内存,并且在处理机(CPU)上执行相应的程序时所处的状况。(4)完成状态即作业完成了计算任务,结果由打印机输出,最后由系统回收分配给它的全部资源,准备退出系统时的作业状况。第第3 3章章 处理机调度处理机调度 3.2.2 作业调度 1.作业控制块(JCB)在多道批处理系统中通常有上百个作业被收容在输入井(磁盘)中。为了管理和调度作业,系统为每个作业设置了一个作业控制块(JCB),它记录该作业的有关信息。不同系统的JCB的组成内容有所区别。JCB的主要内容如图3-2所示。第第3 3章章 处理机调度处理机调度 图3-
4、2 作业控制块 第第3 3章章 处理机调度处理机调度 2.作业调度的功能 如上所述,作业调度的主要任务是完成作业从后备状态到执行状态和从执行状态到完成状态的转换。具体来说,通常作业调度程序要完成以下工作(这就是作业调度的功能)。(1)记录系统中各个作业的情况。(2)按照某种调度算法从后备作业队列中挑选作业。(3)为选中的作业分配内存和外设等资源。(4)为选中的作业建立相应的进程。第第3 3章章 处理机调度处理机调度 (5)作业结束后进行善后处理工作,如输出必要的信息,收回该作业所占用的全部资源,撤消与该作业相关的全部进程和该作业的JCB。第第3 3章章 处理机调度处理机调度 3.3 进进 程程
5、 调调 度度 3.3.1 进程调度的功能和时机 进程只有在得到CPU之后才能真正活动起来。一个就绪进程怎样获得CPU的控制权呢?这是由进程调度实现的,进程调度也被称为低级调度。进程调度程序也往往被称为低级调度程序,它完成进程状态从就绪态到运行态的转化。实际上,进程调度程序主要是完成一台物理的CPU转变成多台虚拟(或逻辑)的CPU的工作。第第3 3章章 处理机调度处理机调度 1.功能 进程调度的主要功能是:(1)保存现场。(2)挑选进程。(3)恢复现场。第第3 3章章 处理机调度处理机调度 2.时机 在什么情况下执行进程调度呢?一般是在以下事件发生后作进程调度:(1)完成任务。(2)等待资源。(
6、3)运行到时。(4)发现标志。(5)创建新进程。第第3 3章章 处理机调度处理机调度 图3-3 进程调度流程 第第3 3章章 处理机调度处理机调度 3.3.2 两级调度模型 作业调度和进程调度是CPU主要的两级调度,二者的关系可用图3-4表示。第第3 3章章 处理机调度处理机调度 图3-4 两级调度简化队列图 第第3 3章章 处理机调度处理机调度 3.3.3 三级调度模型 当一个系统中三级调度同时存在时,其相互间的关系如图3-5所示。简单来说,作业调度从后备作业中选择一批合适的作业放入内存,并创建相应的进程;进程调度从就绪队列中选择一个合适进程,令其投入运行;中级调度将在内存中驻留时间较长的进
7、程换到磁盘上:从就绪队列转到就绪/挂起队列,从阻塞队列转到阻塞/挂起队列。当内存中有足够的可用空间时,中级调度就从就绪/挂起队列中选择一些合适的进程放入内存,使之进入就绪队列。第第3 3章章 处理机调度处理机调度 图3-5 三级调度简化队列 第第3 3章章 处理机调度处理机调度 3.4 性能评价标准性能评价标准 (1)所用算法应保证实现系统的设计目标。(2)对所有作业或进程应公平对待。(3)均衡使用资源,尽量使系统中各种资源都同时得到利用。(4)兼顾响应时间和资源利用率。(5)基于相对优先级,但避免无限延期。(6)系统开销不应太大。第第3 3章章 处理机调度处理机调度 3.4.2 性能评价标准
8、 1.CPU利用率 CPU的利用率可从0100%。2.吞吐量 吞吐量表示单位时间内CPU完成作业(或进程)的数量。3.周转时间 从一个特定作业的观点出发,最重要的标准就是完成这个作业要花费多长时间。第第3 3章章 处理机调度处理机调度 作业i的周转时间Ti为 其中,tsi表示作业i的提交时刻,tci表示作业i的完成时刻。系统中n个作业的平均周转时间T为第第3 3章章 处理机调度处理机调度 作业周转时间没有区分作业实际运行时间长短的特性,因为长作业不可能具有比运行时间还短的周转时间。为了合理反映长短作业的差别,定义了另一个衡量标准带权周转时间W,即W=T/R,其中T为周转时间,R为实际运行时间。
9、平均带权周转时间W为第第3 3章章 处理机调度处理机调度 4.就绪等待时间 CPU调度算法并不真正影响作业执行或IO操作的时间数量。各种CPU调度算法仅影响作业(进程)在就绪队列中所花费的时间数量。第第3 3章章 处理机调度处理机调度 5.响应时间 在交互式系统中,周转时间不可能是最好的评价标准。一个进程往往可以很早地就产生某些输出,当前面的结果在终端上输出时它可以继续计算新的结果。于是,有另一个评价标准,就是从提交第一个请求到产生第一个响应所用的时间,这就叫做响应时间。第第3 3章章 处理机调度处理机调度 3.5 常用调度算法常用调度算法 3.5.1 先来先服务(FCFS)最简单的CPU调度
10、算法就是先来先服务(First Come First Served)方法,即按作业(进程)到来的先后次序进行调度。这样,在系统中等待时间最长的作业就优先被调度,而不管其所需运行时间的长短。FCFS的性能很差。考虑下面三个作业(如图3-6所示),对每个作业,设已知其运行时间,我们计算这三个作业的平均周转时间。第第3 3章章 处理机调度处理机调度 图3-6 三个作业 第第3 3章章 处理机调度处理机调度 如果作业按1,2,3的顺序几乎同时到达,那么采用FCFS方式的服务顺序也是123,如图3-7所示。图3-7 FCFS方式 第第3 3章章 处理机调度处理机调度 作业1的周转时间是24;作业2的周转
11、时间是27;作 业 3的 周 转 时 间 是 30,平 均 周 转 时 间 是(24+27+30)/3=27。然而,若作业的到达顺序是2,3,1,则服务顺序如图3-8所示。第第3 3章章 处理机调度处理机调度 图3-8 另一种作业运行顺序 第第3 3章章 处理机调度处理机调度 3.5.2 短作业优先(SJF)CPU调度的另一种方式是短作业优先(Shortest Job First)算法。所谓作业的长短是指作业要求运行时间的多少。当CPU可供使用时,SJF算法就把CPU分给最短的作业。例如,考虑如图3-9所示的一组作业(它们同时提交到系统)。第第3 3章章 处理机调度处理机调度 图3-9 同时到
12、达的一组作业 第第3 3章章 处理机调度处理机调度 利用短作业优先法调度,作业执行的顺序如图3-10所示。其平均周转时间是13。图3-10 SJF调度法 第第3 3章章 处理机调度处理机调度 对于一组给定的作业来说,短作业优先法给出最小的平均等待时间。可以证明,在这方面它是最佳的。证明的办法是,把一个短作业移到长作业之前所减少的短作业的等待时间大于增加的长作业等待时间。相应地,平均等待时间也减少了,如图3-11所示。第第3 3章章 处理机调度处理机调度 图3-11 SJF有最小平均等待时间 第第3 3章章 处理机调度处理机调度 3.5.3 优先级(Priority)短作业优先法是一般优先级调度
13、算法的特例。每个进程有一个优先级,CPU分给优先级最高的进程。优先级相同的进程按FCFS调度。短作业优先法是简化的优先级算法,这里优先级(p)反比于估计的下一次CPU工作时间(),p=1/。CPU工作时间越长,其优先级越低。第第3 3章章 处理机调度处理机调度 3.5.4 抢占式和非抢占式算法 SJF既可以为抢占式,又可以为非抢占式。当一个作业正在执行时,一个新作业到来,并进入就绪队列,而新作业比当前正在执行的作业还短,在此情况下,就有两种不同的处理方式:抢占式短作业优先算法强行中止当前正在执行的作业,调度新作业执行;而非抢占式SJF将允许当前作业继续运行,直到完成它的CPU运行工作。抢占式短
14、作业优先法也叫做最短剩余时间优先法(SRTF,Shortes Remaining Time First)。作为例子,考虑下面4个作业(如图3-12所示)。第第3 3章章 处理机调度处理机调度 图3-12 4个作业示例 第第3 3章章 处理机调度处理机调度 如果这些作业按上面所示的时间进入就绪队列并需要指定的运行时间,那么下面的示意图(如图3-13所示)就说明了最短剩余时间优先法调度的结果。第第3 3章章 处理机调度处理机调度 图3-13 SRTF法调度示例 第第3 3章章 处理机调度处理机调度 表3-1 SRTF调度算法的性能 第第3 3章章 处理机调度处理机调度 3.5.5 轮转法(RR)轮
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统教程Linux实例分析 孟庆昌 第3章 处理机调度 操作系统 教程 Linux 实例 分析 处理机 调度
限制150内