第3章 处理机调度

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.4.2 先来先服务算法
【实例3-1】P1、P2、P3、P4四个作业的到达时间和运行时 间,如表3-3所示。当采用FCFS算法时,用Gantt图画出各进 程的执行情况,并计算各自的周转时间、带权周转时间、响 应时间和等待时间。
表3-3 FCFS算法实例中诸进程到达时间和运行时间
进程
到达时间
运行时间
2、作业的状态 提交、后备、执行、完成。
3、高级调度(作业调度) 将外存上的作业调入内存,使之取得能分配到CPU并得以
执行的资格。 解决的问题(1)接纳多少个作业;(2)接纳哪些作业。 核心思想:选择尽可能多的作业进入内存,保证这些作业
能够分配到运行所需的资源,尽力保证CPU和I/O设备的负载 平衡,提高系统资源的利用率。
6.6
28
28
P4 10
6
35
41
31
5.1
25
25
平均周转时间=(27+29+33+31)/4=30 平均带权周转时间=(1+9.67+6.6+5.1)/4=5.59 平均响应时间=(0+26+28+25)/4=19.75 平均等待时间= (0+26+28+25)/4=19.75
3.4.3 短进程/作业优先算法
3.4.3 短进程/作业优先算法
【实例3-2】P1、P2、P3、P4四个作业的到达时间和运行时
间,如表3-4。当采用SPF算法时,用Gantt图画出各进程的
执行情况,并计算各自的周转时间、带权周转时间、响应时
间和等待时间。
进程
到达时间
运行时间
P1
0
12
P2
0
5
P3
0
7
P4
0
3
3.4.3 短进程/作业优先算法
• 图中,双线框为内存边界,线内表示在内存中完成,线外 表示在外存中。
选择:多少个作业, 哪些个作业
作业调度(高级调度)
提交
后备
选择:给那个进程 分配cpu
进程调度(低级调度)
活动就绪
运行
创建进程
活动阻塞
执行
完成
2020/7/7
静止就绪
选择:选择进程到外存 中级调度
静止阻塞
3.3.1 高级调度
1、作业的概念 一般用于早期批处理系统的大型机等系统。
调度的时机:
3.3.2 低级调度(进程调度)
1、进程状态:就绪、运行、阻塞。 2、低级调度
根据进程调度算法选择就绪队列中的某个进程,并为其 分配CPU。 3、低级调度时机
(1)进程终止时 正常结束、异常结束和外界干预。
(2)进程阻塞时 (3)被其他进程抢占
(4)执行P操作时 执行中的进程调用了P原语操作,因资源不足而被阻塞。
备利用率,从而提高系统效率的有效保障和基础。
3.1 处理机调度概述
• 处理机调度的主要目的就是为了分配处理机,尽力保 证CPU以最高利用率工作。
• 该部分研究的内容包括处理机调度层次、调度时机、 调度过程和调度算法。
• 处理机调度算法是实现处理机调度的具体方法,处理 机调度算法研究按什么原则分配处理机的问题。
CPU(非抢占方式)。 • 在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通
常等到当前作业或进程让出CPU。是最简单的算法。
3.4.2 先来先服务算法
• 2算法特点 • 1)比较有利于长作业,而不利于短作业。这是因为若一个
长作业先到达系统,就会使许多短作业等待很长的时间, 从而引起许多短作业用户的不满。 • 2)有利于CPU繁忙的作业,而不利于I/O繁忙的作业。I/O 繁忙的作业可以理解为短作业。 • 现代操作系统中,已很少用该算法作为主要调度策略,尤 其是在分时系统和实时系统中。但它常被结合在其他调度 策略中使用,即同等条件下按照FCFS调度。
用户角度: 在一次应用业务处理过程中,从输入开始到输出结束,
用户要求计算机所做的有关该次业务处理的全部工作。 系统角度: 由程序、数据和作业说明书组成。系统通过作业说明书
控制文件形式的程序和数据,使其执行和操作。 在批处理系统中,作业使抢占内存的基本单位。 现代微机很少使用作业的概念,类似其的概念是任务。
• 先来后到的原则是日常生活中一种普适、简单和方便 实现的原则。
• 在操作系统中,不仅仅处理机调度包含了这种原则, 在内存分配、磁盘调度等部分均有类似算法的存在。 如5.10.1 FIFO算法。
3.2 选择调度方式和调度算法的准则
3.2 选择调度方式和调度算法的准则
3.2.1 面向用户的准则 3.2.2 面向系统的准则 3.2.3 最优准则
1 算法描述 • 短进程优先调度算法(Shortest Process First, SPF),是指
对短进程优先的算法。利用该算法,可以从就绪队列中选 择一个估计运行时间最短的进程,并为之分配CPU,使其 立即执行直到完成,或者在运行期间由于发生IO事件使该 进程阻塞,并让出CPU,重新发生进程调度。 • 短作业优先调度算法SJF(Shortest Job First),是指对短作 业优先调度的算法。利用该算法,可以从后备队列中选择 若干估计运行最短的作业,投入内存运行。
3各类资源的平衡利用
在高级调度时,协调计算型进程和I/O型进程的调度,使 计算进程有效利用CPU、内存; I/O进程有效利用外部设备 ,从而达到主机和外设的平衡利用,以提高系统吞吐量。
1系统吞吐量大 2处理机利用率好 3各类资源的平衡利用 4最短周转时间 5最短等待时间 6最短相应时间
3.2.3 最优准则
(5)执行V操作时
4、低级调度过程 (1)保存处理机的现场信息 (2)选择进程 (3)把处理机分配给进程 将选中的进程的状态信息,从PCB中读取到CPU的各个
寄存器中。
3.3.3 中级调度
根据进程调度选择某个进程挂起,即将其调出到外存的交 换区;或者,将挂起的进程唤醒,调回到内存中等待运行。
3.4 调度算法
P1
0
27
P2
1
3
P3
2
5
P4
10
6
(1)Gantt图表示CPU调度状况
P1
P2
P3
P4
0
27 30
35
41
(2)调度算法性能分析
进程 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间 响应时间 等待时间
P1
0
27
0
27
27
1
0
0
P2
1
3
27
30
29
9.67
26
26
P3
2
5
30
35
33
5 掌握常见的调度算法

6 了解Linux系统的实时调度策略法
7 了解实时调度算法
处理机调度的意义
在多道程序环境下,进程数目往往多于处理机数目。这就 要求系统按某种方法,动态地把处理机分配给就绪队列中的 一个进程,使之执行。分配处理机的任务是由处理机调度程 序完成的。由于处理机是最重要的计算机资源,提高处理机 的利用率及改善系统性能(吞吐量、响应时间),在很大程 度上取决于处理机调度性能的好坏,因而,处理机调度便成 为操作系统设计的中心问题之一。通过本章的学习,学习者 可以深入理解操作系统如何调度进程,从而充分利用CPU资 源的。
3.2 选择调度方式和调度算法的准则
3.2.1 面向用户的准则
1周转时间短 2响应时间快 3等待时间短 4截止时间的保证
截止时间:任务必须开始执行的最迟时间,或必须完成 的最迟时间。
3.2.2 面向系统的准则
1系统吞吐量
吞吐量的大小以每单位时间所完成的作业数来描述。
2处理机利用率好
应尽可能使CPU保持忙,使其利用率最高。
的执行时间长短,从中选出响应比最高的作业投入执行。
3.4.4 最高响应比优先算法
• 响应比R定义如下: R W T 1 W
T
T
• 其中T为该作业估计需要的执行时间,W为作业在后备状态队
列中的等待时间。
• 每当要进行作业调度时,系统计算每个作业的响应比,选择 其中R最大者投入执行。这样,即使是长作业,随着它等待时 间的增加,W/T也就随着增加,也就有机会获得调度执行。
3.4.1 基本概念
• 剥夺式(preemptive),即就绪进程可以从运行进程手中抢 占CPU。进程一直运行,直到结束、等待或被抢先。
• 非剥夺式(non-preemptive),即就绪进程不可从运行进程 手中抢占CPU。进程一直运行,直到结束或等待。
3.4.2 先来先服务算法
• 1 算法描述 • 按照作业提交或进程变为就绪状态的先后次序,分派CPU; • 当前作业或进程占用CPU,直到执行完或阻塞,才出让
3.1 处理机调度概述
3.1 处理机调度概述
• 所谓调度就是选出待分派的作业或进程。 • 比如车辆调度就是从现有车辆里根据某种策略选择
一辆或多辆车执行任务。 • 在计算机系统中,CPU是核心的硬件,所有的工作
都是围绕CPU展开的。 • 于是,从系统的角度出发,操作系统的第一要务就
是如何充分提高CPU的利用率。 • 提高CPU利用率,是提高系统吞吐量、提高其他设
3.4.4 最高响应比优先算法
2算法特点 (1)优点 1)同时到达任务,短者优先。等待时间相等时,服务时间越 短,优先级越高,符合SJF思想。 2)长作业随等待时间增加响应比增加。服务时间相等时,等 待时间越长,优先级越高。对于长作业,只要其等待时间足 够长,也能获得处理机。
3.4.4 最高响应比优先算法
第3章 处理机调度
目录
3.1 处理机调度概述
3.3
调度的层次 3.5
实时调度
3.2
调度准则 3.4 调度算法
3.6
小结
要点
01 处理机调度的基本概念 02 处理机调度算法 03 实时调度、多处理机调度

1 理解三种调度及其队列模型

2 理解面向对象调度准则
3 理解面向系统调度准则

4 理解处理机三级调度
(1)Gantt图表示CPU调度状况
P4
P2
P3
P1
03
8
15
27
(2)调度算法性能分析
进程 到达时间 运行时间 开始时间 完成时间 周转时间 带权周转时间 响应时间 等待时间
P4
0
3Biblioteka Baidu
0
3
3
1
0
0
P2
0
5
3
8
8
1.6
3
3
P3
0
7
8
15
15
2.14
8
8
P1
0
12
15
27
27
2.25
15
15
平均周转时间=13.25 平均响应时间=6.5
运行时间 12 5 4 3
调度过程:
计算响应比 R=1+等待时间/执行时间 1)0时刻:只有一个进程P1,无须竞争即可进入。 2)12时刻:进程P1完成,此时有三个进程(P2,P3,P4)
等待,计算他们的响应比: R2=1+11/5=3.2 R3=1+10/4=3.5 R4=1+9/3=4 选择响应比高的进程P4进入。 3)15时刻:进程P4完成,此时有两个进程(P2,P3)等待 计算他们的响应比: R2=1+14/5=3.8 R3=1+13/4=4.25 选择响应比高的进程P3进入。 4)19时刻:只有一个进程P2,无须竞争即可进入。
平均带权周转时间=1.75 平均等待时间=6.5
3.4.4 最高响应比优先算法
1 算法描述 • 最高响应比优先法(Highest Response_ratio Next,HRN)是对
FCFS方式和SJF方式的一种综合平衡。 • FCFS方式只考虑每个作业的等待时间而未考虑执行时间的长
短,而SJF方式只考虑执行时间而未考虑等待时间的长短。 • 因此,这两种调度算法在某些极端情况下会带来某些不便。 • HRN调度策略同时考虑每个作业的等待时间长短和估计需要
【实例3-3】P1、P2、P3、P4四个作业的到达时间和运行时 间,如表3-5。当采用最高响应比优先算法时,用Gantt图画 出各进程的执行情况,并计算各自的周转时间、带权周转时 间、响应时间和等待时间。
• 表3-5 HRN算法实例中诸进程到达时间和运行时间
进程 P1 P2 P3 P4
到达时间 0 1 2 3
2算法特点 (2)缺点 1)吞吐量降低。这种算法是介于FCFS和SJF之间的一种折中 算法。由于长作业也有机会投入运行,在同一时间内处理的 作业数显然要少于SJF法,从而采用HRN方式时其吞吐量将 小于采用SJF法时的吞吐量。 2)系统开销增加。原因在于每次调度前要计算响应比。
3.4.4 最高响应比优先算法
3.4.3 短进程/作业优先算法
2 算法特点 (1)优点 1)比FCFS改善平均周转时间和平均带权周转时间,缩短作业 的等待时间;假定所有任务同时到达,平均等待时间最短。 2)提高系统的吞吐量。
3.4.3 短进程/作业优先算法
2 算法特点 (2)缺点 1)对长作业非常不利,可能长时间得不到执行;长作业可能 被饿死。 2)未能依据作业的紧迫程度来划分执行的优先级。 3)难以准确估计作业(进程)的执行时间,从而影响调度性能。
3.3 调度的层次
3.3 调度的层次
• 在不同的操作系统中所采用的调度方式并不完全相同。有 的系统中仅采用一级调度,而有的系统采用两级或三级, 并且所用的调度算法也完全可能不同。
• 一般说来,作业从进入系统到最后完成,可能要经历三级 调度:高级调度、中级调度和低级调度,如图3-1所示, 调度的核心思想是进行选择。
相关文档
最新文档