华南理工大学 操作系统课件第6章 处理机调度
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
22
1. 先来先服务策略 (FCFS)
先来先服务算法是最简单的调度方法。 其基本原则是:按照作业到达 到达系统或进程进入 进入就绪队 到达 进入 列的先后次序来选择。 FCFS 策略是属于不可抢占策略。
简单易行,但调度性能较差,有可能使短的、重要的或紧 迫的作业及进程长期等待。 FCFS策略有利于偏重CPU (CPU-约束)的进程, FCFS策略不利于偏重I/O (I/O-约束)的进程。
②面向系统的标准是为了使系统高效地运行
CPU利用率高:对微机和实时系统不太重要。 系统吞吐量大:吞吐量指单位时间内所完成的进程数。 合理利用各类资源:让各类资源都忙碌,对微机不太重要。
面向用户的标准对所有系统都很重要, 但面向系统的标准在单用户系统中并不重要。
16
6.2.1 短程调度标准
2. 与性能相关的标准
P2 P4 8 11 P1 17 P3 24
0
平均等待时间=?
平均周转时间=?
20
6.2.2 优先权的使用
Unix/Linux 进程优先级
Windows 进程优先级
在 Unix/Linux 下优先数 在 Windows 2000/XP 越大、优先级越低。例如: 越大、优先级越低。例如:执行 下优先数越大、优先级越高。 下优先数越大、优先级越高。 ps 命令查看进程。 命令查看进程。
ps –ec
例如:低优先级为 4
olwmslave -csh in.rlogind in.telnetd in.rlogind -csh olwmslave -csh a.out -csh
1 1 8 8 10 10 11 11 58 58
14426 15471 9947 15613 9769 17644 14983 16209 19050 19051
12
调度频率
长程调度执行不频繁 (可能小于每分钟一次)。 中程调度较频繁。 短程调度执行最频繁 (每秒大于10 次),需要快速 地执行。
13
内容
6.1 6.2 6.3 6.4 6.5 调度类型 调度算法 多处理机调度 实时调度 响应时间
14
6.2 调度算法
如何选择和设计调度算法是实现调度的关键。 对调度算法进行评价的常用度量标准是: CPU 利用率:使 CPU 尽可能地忙 吞吐量:单位时间内所完成的作业数 响应时间:从提交请求到到产生第一个响应的时间 P205 轮转(周转)时间:从进程提交到进程完成的时间间隔 等待时间:在就绪队列中等待所花的时间 平均周转时间 是指多个作业的周转时间的平均值。n个作 业的平均周转时间: T =(T1+T2+ … +Tn)/n (Ti为作业i的周转时间) 平均带权周转时间指多个作业的带权周转时间的平均值。 n个作业的平均带权周转时间: W =(W1+W2+ … +Wn)/n (Wi为作业i的带权周转时间)
5
6.1.2 中程调度
中程调度也称中级调度。中级调度决定哪些 进程可参与竞争CPU,用以实现进程的活动状态 与静止的挂起态之间的转换。 目的是为了提高内存的利用率和系统吞吐量。 中程调度实际上就是存储器管理中 存储器管理中的(交) 存储器管理中 置换功能(包括普通的交换和修正的交换)。
6
6.1.3 短程调度
图 3-3 具有三级调度时的调度队列模型
10
高 级 调 度 作 业 调 度 (
执行 Rຫໍສະໝຸດ BaiduN
I/O
内存
readya
挂 起 挂 解
I/O
blockeda
挂 起 挂 解
)
readys
blokeds
11
引起进程调度的原因
(1) 时间片到 (按时间片运行) (2) 进程提出I/O请求 ––– 阻塞,调新进程 (3) 进程挂起 (4) 执行信号量Wait而被阻塞 (5) 来了更高优先权 (可被剥夺) (6) 进程运行完了
为解决这个问题,进程优先权可随其年龄或 执行历史改变,一种解决方案是“老化”:即逐 渐增加在系统中等待很长时间的进程的优先权。
19
优先权调度例子(假设优先数小优先权高) 假设优先数小优先权高)
在时刻 0,以下进程按 P1,P2,P3,P4 顺序“同时”到达
进程 P1 P2 P3 P4
CPU区间时间(ms) 优先权(数) 6 3 8 1 7 3 3 2
15
6.2.1 短程调度标准
1.通常使用的标准 1.通常使用的标准 ①面向用户的标准与单个用户或进程关心的系统性能
周转时间短:指从作业提交到作业完成的时间间隔。 响应时间快:指从用户提交请求到系统产生响应的时间间隔。 期限(截止时间的保证):截止时间是指某任务必须开始执行或必 须完成的最迟时间。 预测性(稳定性):对某用户的作业而言,调度策略不应使其响应 时间和周转时间变化太大
25
时间片轮转策略(Round-Robin, 2. 时间片轮转策略(Round-Robin,RR)
时间片值g的设置是 算法的关键问题 时间片值 的设置是RR算法的关键问题 的设置是 算法的关键问题。 g足够大到每一进程执行完,->FCFC g适当 ––– 进程均匀执行 g 太小 ––– 开销太大,有切换时间,CPU利用率低。 例:切换 s = 5ms, g = 20ms, 则CPU利率率80%, 有20%花费在进程调度程序。 此片值的设置可以是固定的,也可以是可变的。 RR算法主要用于分时系统或事务处理系统,可保证对 各终端用户的及时响应。但它对偏重CPU的进程和偏重I/O的 进程有不同的处理结果,可以采用虚拟时间片轮转(VRR)策略 来避免这个问题。新加入的特性是附加一个FCFS策略队列来 收集从I/O等待中释放的进程。
短程调度又称为进程调度或低级调度。短程调度决定 哪个进程可获得物理CPU,它是处理机的终结调度,即 物理CPU 物理CPU 微观调度。 短程调度的功能是,从就绪进程队列中挑选一个进程, 并启动执行该进程。 短程调度是最基本的一种调度,它可以采用非抢占方 式或抢占方式。
7
6.进程调度模型 6.进程调度模型
29
SJF 例子—求平均等待时间 求平均等待时间
进程 P1 P2 P3 P4
P4 3 P1 9 P3 16
CPU区间时间 区间时间 6 8 7 3
P2 24
平均等待时间: (0+3+9+16)/4 = 7 ms 用 FCFS 算法平均等待时间:10.25 ms
30
4. 最短剩余时间优先策略 (Shortest Remaining Time,SRT)
第6章 处理机调度 章
1
内容
6.1 6.2 6.3 6.4 6.5 调度类型 调度算法 多处理机调度 实时调度 响应时间
2
6.1 调度类型
处理机调度问题就是处理器的分配问题。 调度决定了哪些进程将等待、哪些进程被执行,所以直接影响 到系统的执行效率。从根本上讲,调度就是要使队列延迟最 小,并优化系统的执行效率。 目的是使处理机在满足系统要求的响应时间、吞吐量和处理机 利用率的前提下及时地运行进程。 调度被分成3种:
23
FCFS 例子
在时刻 0,以下进程按 P1,P2,P3 顺序到达,并被以先来先 服务的规则服务,试求平均等待时间。
进程 P1 P2 P3
P1
CPU 区间时间(ms) 区间时间( 24 3 3
P2 P3
平均等待时间: (0+24+27)/3 = 17 ms 平均周转时间 平均周转时间:
如果进程以顺序 P2,P3,P1 被服务
26
RR 例子 (时间片 = 4 ms,求平均等待时间 时间片 ,求平均等待时间)
进程 P1 P2 P3
P1 0 4 P2 8
CPU 区间时间 (ms) 12 5 3
P3 11 P1 P2 15 16 P1 20
平均等待时间=(0+4+8+7+7+1)/3=9ms 平均等待时间=(0+4+8+7+7+1)/3=9ms RR算法的平均等待时间通常是相当长的 RR算法的平均等待时间通常是相当长的
1. 长程、 2. 中程 3. 短程调度。
3
6.1.1 长程调度
长程调度又称为作业调度或高级调度。长程调度决 定哪些作业可参与竞争CPU和其他资源,即决定给哪个作 业分配一台虚拟处理机,它是处理机的宏观调度。 长程调度的一般功能是:从后备作业中挑选一个或 多个作业,为它(它们)分配基本的内存和外设资源 资源并建 资源 立相应的进程 进程。 进程 不同类型的操作系统关于长程调度的功能、调度时 机以及工作形式是有差异的。
1)只有进程调度的调度队列模型
图 1 仅具有进程调度的调度队列模型
8
6.进程调度模型 6.进程调度模型
2)具有高低级调度的调度队列模型 具有高低级调度的调度队列模型
图 3-2 具有高、低两级调度的调度队列模型
9
6.进程调度模型 6.进程调度模型
3)具有三级调度的调度队列模型 具有三级调度的调度队列模型
P2
P3
P1
24
平均等待时间:(0+3+6)/3 = 3 ms 平均周转时间
Round-Robin, 2. 时间片轮转策略 (Round-Robin,RR)
RR策略是一种抢占式的进程调度法,是以就绪队列中的所有进程, 均以相等的速度向前进展为特征的。
分配给每一进程在CPU上运行的时间长度,称之为时 时 间片。进程以此时间片为限制,轮流使用CPU。 间片 进程以此时间片为限制,轮流使用 如果时间片到期时,进程尚未完成运行,调度程序将 剥夺它正在使用的CPU,转让给另一进程使用; 如果进程在使用完它的某一时间片之前,已经完成运 行或已阻塞,CPU也立即转让给另一进程使用。 当所有的作业都运行完分配的一个时间片后,第一 个作业才再次得到运行的机会。
标准优先级为 8 高优先级为 13 实时优先级为 24 浏览 Windows 任务管 理器
21
6.2.3 调度策略
根据系统的资源分配策略,所设计的资源分配算 法。常见调度算法:
(1)FCFS 先来先服务 (2)RR时间片轮转法 (3)SPN最短进程优先的调度算法 (4)SRT最短剩余时间优先调度算法 (5)HRRN响应比高者优先调度算法 (6)MQFB多级反馈队列调度算法
27
时间片轮转算法的特点及改进
对偏重I/O的进程不公平。 改进为虚拟时间片轮转 虚拟时间片轮转算法: 虚拟时间片轮转
新进程基于FCFS进入就绪队列,进程用完时间片 后也进入就绪队列, 进程因I/O阻塞进入I/O队列(没用完时间片 没用完时间片),I/O 没用完时间片 完成后,进程进入附加队列,附加队列的优先级高于 优先级高于就 优先级高于 绪队列,当进程从附加队列被调度时,其运行时间不超 过上次发生中断时剩余的时间。
28
3. 最短作业优先策略
First, Shortest Job First,SJF Next, 或Shortest Process Next,SPN
SPN策略是一种非抢占式的方式,它偏袒短者,对短作业 或短进程最为有利,它导致最短的平均周转时间。但它忽 略等待时间的长短,对长作业不利,特别是在抢占方式下, 可能会使长作业无限延迟。 理论上该方法在等待时间方面是最优的,但实际上无法确 切知道下一CPU区间的长度。
根据所面向的对象是否与性能相关,可将其分为与性 能有关的标准和与性能无关的标准。 与性能有关的标准是可定量的,如响应时间和吞吐量。 与性能无关的标准是定性的,如预测性。
调度标准有些是相互独立的,有些是冲突 冲突的, 冲突 不能同时优化。
17
6.2.2 优先权的使用
调度可基于优先权。在很多系统中,每个进程都有一 个优先权(或称为优先数),高优先权的进程比低优 先权的进程优先运行。下图说明了优先权的使用。
RQ0 分派 释放
CPU
… RQ1 接收
… RQn
抢占 事件等待 事件发生 阻塞队列
18
6.2.2 优先权的使用
完全按优先权调度会出现的问题是,低优先权进 程可能饥饿,当有高优先权的进程流持续到达时, 就会出现这种情况。
7094、 1967年提交的作 1973 年关闭 MIT 的 IBM 7094、发现 1967年提交的作 业还未运行! 业还未运行!
4
长程调度 (续)
长程调度(程序)应该精选要调度的作业,即混有 I/O-约束的作业和 CPU-约束的作业。 • I/O-约束:作业花费在输入/出操作上的时间比花费 在计算上的时间多。 • CPU-约束:作业很少产生 I/O 请求,在计算上的时 间花费较多。 在 Unix 操作系统中没有长程调度程序,只是简单地将 所有新进程放在内存中,以供短期调度程序使用。