操作系统处理机调度

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
35
4.2优先权调度算法
4.2.3. 高响应比优先调度算法
对每一个作业(进程)计算一个优先数,称为响应比。挑 选响应比高的进行调度。(短作业与优先权调度的组合) 优先权的变化规律可描述为:
等待时间 要求服务时间 优先权 要求服务时间
由于等待时间与服务时间之和,就是系统对该作业的响应
时间,故该优先权又相当于响应比RP。据此,又可表示为:
9
2.调度队列模型
每一种调度都涉及到进程队列。根据具有的调 度类型,形成三种类型的调度队列模型。
• 仅有进程调度的调度队列模型
• 有作业和进程调度的调度队列模型
• 有三级调度的调度队列模型
10
2.调度队列模型
2.1 一级调度模型
2.2二级调度模型
2.3三级调度模型
11
1.1一级调度队列模型
时间片完/被中断
4.2优先权调度算法
抢占式优先权算法—例
EG: 进程 到达时间 0.0 2.0 4.0 5.0 服务时间 7 4 1 4 优先权 3 2 4 1
P1 P2 P3 P4
Gantt图
P1
0 2
P2 5
P4
P2 P1
9 10
P3
15 16
平均周转时间=((15-0)+(10-2)+(16-4)+(9-5))/4

根据按优先权调度时是否允许抢占,可分为两种:
1)非抢占式优先权算法 • 调度当前优先权最高的进程,并一直运行到结束,或因 发生某事件使该进程放弃处理机时,系统方可再将处理 机重新分配给另一优先权最高的进程。 • 主要用于批处理或要求不高的实时系统中。
30
4.2优先权调度算法
2)抢占式优先权调度算法: 把处理机分配给当前优先权最高的进程。但 在运行过程中,若有更高优先权进程出现,则 剥夺原进程对CPU的使用权,重新调度。 当就绪队列中有新进程出现时,应比较新进 程和正运行进程的优先权。
20
4.调度算法
调度的实质是一种资源分配(如作业调度可看成是内 存的分配、进程调度看成是CPU的分配) 调度算法:根据系统的资源分配策略所规定的资源分 配算法。
调度算法:
先进先出(FIFO)算法
短作业优先调度算法 最高优先权优先调度算法 轮转法 多级反馈队列
21
4.调度算法
4)优先权原则(适用于各种OS) 进程调度中,往往还须选择抢占调度方式,才能保 证紧急作业得到及时处理。
18
3.2面向系统的准则
注重满足系统要求 1)系统吞吐量高(对批处理OS)---与批处理作业的平均长 度有密切关系。 2)处理机利用率好(主要对大、中型机多用户系统---由于 CPU价格昂贵) 3)各类资源平衡利用
7
1.2低级调度
2)调度功能 选择占有CPU的进程 调度算法、进程状态 、内存情况
进程进程上下文切换
保存现场将正在执行进程的上下文保存在该PCB 恢复现场将刚选中的进程的运行现场 3)要解决调度问题 调度算法(WHAT按什么原则分配) 调度时机(WHEN何时分配CPU) 调度过程(HOW如何分配CPU)
交互用户 结束
CPU
就绪队列
唤醒
进程调度
阻塞
阻塞队列
12
1.2二级调度队列模型
有作业和进程调度 批处理系统 时间片完/被中断
结束

CPU
作业调度 进程调度
后备队列
唤醒
阻塞
阻塞队列2
阻塞队列1
13
2.3三级调度队列模型
作业调度 后备队列 批量作业 交互型作业 中级调度 时间片完 就绪队列
进程调度
CPU
27
进程
到达时间
服务时间
P1
P2 P3
0.0
2.0 4.0
7
4 1
P4

5.0
4
SPF (抢占式) P1 P2 P3 P2 P4 P1
0
2
4
5
7
11
16
平均周转时间=((16-0)+(7-2)+(5-4)+(11-5))/4=7
28

FCFS P1 0 P2 P3 11 12 P4 16
2
4
n
17
2)响应时间快(用于评价分时系统) 响应时间指从用户通过键盘提交一个请求开始,直至 系统首次产生响应(屏幕显示结果)为止的时间。 包括:输入传送到CPU的时间;处理的时间;结果回 送到显示器的时间。 3)截止时间的保证(用于评价实时系统) 调度算法应保证实时任务的必须开始执行的最迟时 间和必须完成的最迟时间。
机的任务是由进程调度程序完成的。它是操
作系统设计的中心问题之一。
可从两个角度对调度分类:一种是按调度的层次,可分 为高级调度、低级调度、中级调度;另一种是按OS的类型, 分为批处理调度、分时调度、实时调度、多处理机调度。
3
1.调度概念
1.1 高级调度
1.2低级调度
1.3中级调度
4
1.1高级调度
作业从进入系统并驻留在外存的后备队列开始,直至作业运 行完毕,可能要经历三级调度。 高级调度:又称作业调度或长程调度或接纳调度。按一定的 调度算法,将外存上后备队列中的某些作业调入内存,并为 之创建进程、分配必要的资源,将进程排在就绪队列中。 在批处理系统中,存在高级调度。高级调度的时间尺度 通常是分钟、小时或天。
16
3.1面向用户的准则
计算机系统要求的是平均周转时间最短。
1 n 平均周转时间:T= Ti n i 1
平均带权周转时间(作业的带权周转时间是作业的周转时 间T与系统为它提供的实际服务时间Ts之比,即W=T/Ts) W= 1
n
Ti Tsi i 1
优点:实现简单系统开销小。适合于大多数的批处理系统。 缺点:不能满足紧急任务的要求,故不适合实时系统。
6
1.2低级调度
②抢占方式: 当一个进程正在运行时,系统可以基于某种原 则,剥夺已分配给它的处理机,将之分配给其 它进程。

抢占原则有: 时间片原则; 优先权原则(高优先权的作业到达后,可中 止当前正运行的较低优先权进程,重新调 度); 短作业(进程)优先原则(短作业到达后, 可中止当前正运行的长作业,重新调度)
若小于、等于,则继续运行;
若大于,重新调度、切换。
31
4.2优先权调度算法
4.2.2优先权的类型:可有两种类型的优先权 1)静态优先权:指优先权在创建进程时就确定好, 且在进程的整个运行期间保持不变。优先权常用某 范围内的整数表示,又称优先数。如:

确定进程优先数的依据有: • 进程类型(通常系统进程的优先权高于用户 进程) • 对资源的需求(如对CPU、内存的要求。需 求越少,优先权越高)
算其平均周转时间。
进程 P1 P2 P3 P4 到达时间 服务时间 0.0 2.0 4.0 5.0 7 4 1 4
26
进程
到达时间
服务时间
P1
P2 P3
0.0
2.0 4.0
7
4 1
P4

5.0
4
SPF (非抢占式)
P1
0

P3
7 8
P2
12
P4
16
3
平均周转时间=((7-0)+(12-2)+(8-4)+(16-5))/4=8
的作业。 例:
23
4.1先来先服务和短作业优先调度算法
图 4 FCFS和SJF调度算法的性能
24
4.1先来先服务和短作业优先调度算法
4.1.2、短作业(进程)优先调度算法(SJF、SPF) 思想:从队列中选择估计运行时间最短的作业(进 程),对它执行调度。 适用于作业调度和进程调度,应用于进程调度是一种 非抢占式的调度算法 该算法有利于短作业(进程),可提高系统的吞吐量、 降低作业平均等待时间。例 缺点:
等待时间 要求服务时间 响应时间 优先权 要求服务时间 要求服务时间
• 用户要求(紧迫程序、交费多少等)
32
4.2优先权调度算法
优点:简单。 缺点:可能导致某些低优先级进程无限等待。
2)动态优先权:优先权在创建进程时规定,但可 以随着进程的运行而改变。
如:对于就绪队列中的进程,可规定其优先权随等 待时间而增加(开始优先权低的进程,等待一段时 间后,优先权变高);对于运行的进程,其优先权 随使用CPU的时间增大而变小(防止某高优先权的 进程长时间占有CPU)。
在分时系统和实时系统中通常没有作业调度。
在每次执行作业调度,都要做出两个决定:
1)接纳多少个作业:取决于多道程序度,即允许多少个作业 同时在内存中运行。作业多—影响服务质量(周转之间长); 作业少—资源利用率和系统吞吐量低。 2)接纳哪些作业:取决于调度算法
5
1.2低级调度
低级调度:又称进程调度、短程调度
19
3.3调度算法总的性能指标
总性能指标 公平—确保每个进程每个用户获得合理的CPU份额
效率—CPU利用率:越高越好
响应时间—使交互用户的响应时间尽可能短 周转时间—使批处理用户等待输出的时间尽可能短 吞吐量—使每个小时处理的作业数量多 I/O设备利用率
时空代价
Kleinrock,1975 任何一个偏向某些类型作业的调度算法必将损害其他某一 类型的作业运行。
按一定的调度算法,决定就绪队列中的哪个进程将 获得处理机,然后由分派程序将处理机分配该进程。 在三种类型的OS中都要存在低级调度。低级调度的时 间尺度通常是毫秒级的。由于低级调度算法的频繁使用, 要求在实现时做到高效.
1)调度方式
①非抢占方式:
进程占有CPU后一直运行到结束或阻塞。不允许其它进程 抢占已分配出去的CPU。


二 三

处理机调度的基本概念
调度算法 实时系统中的调度

多处理机系统的调度
1
处理机调度的基本概念
1
调度类型
2
调度队列模型
3
调度方式和算法的评价准则
2
处理机调度的基本概念
在多道程环境下,进程数目往往多于处理
机数目,致使它们争用处理机。这就要求系
统能按某种算法,动态地把处理机分配给就
绪队列中的一个进程,使之执行。分配处理
4.1先来先服务和短作业优先
4.2优先权调度算法
4.3时间片轮转调度算法
22
4.1先来先服务和短作业优先调度算法
4.1.1、先来先服务(FCFS)调度算法
思想:每次调度总是选择最先进入队列的作业
(进程),一个进程一旦分得处理机,便执行 下去,直到该进程完成或阻塞时,才释放处理 机。
适用于作业调度和进程调度。 FCFS应用于进程调度是一种非抢占的调度算法。 FCFS有利于长作业(进程),有利于CPU繁忙
5
7
平均周转时间=((7-0)+(11-2)+(12-4)+(16-5))/4=8.75
FCFS 吞吐量0-7ms 平均周转时间 1 8.75 非抢占SPF 1 8 抢占SPF 2 7
29
4.2优先权调度算法
选择优先权高的进行调度 4.2. 1、 优先权调度算法的类型

优先权调度算法是为了照顾紧迫性作业(进程)。 可用于作业调度和进程调度。
8
1.3中级调度
中级调度:又称中程调度;
目的:提高内存的利用率和系统吞吐量。 中级调度涉及进程在内外存间的交换,从存储器资源 管理的角度来看,把内存中暂不能运行的进程的部分 或全部换出到外存上(称驻外存状态或挂起状态), 可为当前运行进程的执行提供所需内存空间,将当前 进程所需部分换入到内存。当换出的进程重又具备运 行条件且内存有空间时,再由中级调度将其调入内存, 修改状态为活动就绪。 中级调度实际上实现的是内存管理中的对换功能。
33
4.2优先权调度算法 非抢占式优先权算法—例
EG: 进程
P1 P2 P3 P4
Gantt图
到达时间 0.0 2.0 4.0 5.0
服务时间 7 4 1 4
优先权 3 2 4 1
P1
0 7
P4
P2
11
P3
15 16
34
平均周转时间=((7-0)+(15-2)+(16-4)+(11-5))/4=8.5
对长作业非常不利,可能长时间得不到执行; 未能依据作业的紧迫程度来划分执行的优先级; 难以准确估计作业(进程)的执行时间,从而影响调 度性能。
25
4.1先来先服务和短作业优先调度算法
练 习
对于下述进程的到达时间和服务时间,请分别用FCFS、
SPห้องสมุดไป่ตู้(非抢占式)和SPF(抢占式)算法写出进程调度顺序,并计
进程完成
就绪,挂起队列 事件出现
阻塞,挂起队列 事 件 出 现 阻塞队列 等待事件 挂起
图 3-3 具有三级调度时的调度队列模型
14
3.选择调度方式和算法的评价准则
3.1面向用户的准则
3.2面向系统的准则
3.3调度算法总的性能指标
1.4具体实现
15
3.1面向用户的准则 注重满足用户需求
1)周转时间短(用于评价批处理系统) • 周转时间:指从作业提交给系统开始到作业 完成为止的这段时间间隔。包括: 在后备队列上等待作业调度的时间; 在就绪队列上等待进程调度的时间; 在CPU上执行的时间; 等待I/O操作完成的时间。 后三步可能有多次。
相关文档
最新文档