平均等待时间

Download Report

Transcript 平均等待时间

第6章 处理机调度
本章知识点:
6.1
 6.2
 6.3
 6.4
 6.5
 6.6

调度类型
调度算法
多处理机调度
实时调度
响应时间
系统举例(略)
1
6.1 调度类型
处理机调度问题就是处理器的分配问
题,它的目的是使处理机在满足系统要求
的响应时间、吞吐量和处理机利用率的前
提下及时地运行进程。在许多系统中,调
度被分成3种:长程、中程和短程调度。
由于调度决定了哪些进程将等待、哪
些进程被执行,所以直接影响到系统的执
行效率。从根本上讲,调度就是要使队列
延迟最小,并优化系统的执行效率。
2
6.1.1 长程调度
长程调度又称为作业调度或高级调度。长
程调度决定哪些作业可参与竞争CPU和其他资
源,即决定给哪个作业分配一台虚拟处理机,
它是处理机的宏观调度。
长程调度的一般功能是:从后备作业中挑
选一个或多个作业,为它(它们)分配基本的内
存和外设资源并建立相应的进程。不同类型的
操作系统关于长程调度的功能、调度时机以及
工作形式是有差异的。
3
长程调度 (续)


长程调度(程序)应该精选要调度的作业,即
混有 I/O-约束的作业和 CPU-约束的作业。
• I/O-约束:作业花费在输入/出操作上的时间
比花费在计算上的时间多。
• CPU-约束:作业很少产生 I/O 请求,在计
算上的时间花费较多。
在 Unix 操作系统中没有长程调度程序,只是
简单地将所有新进程放在内存中,以供短期调
度程序使用。
4
6.1.2 中程调度
中程调度也称中级调度。中级调度
决定哪些进程可参与竞争CPU,用以实现
进程的活动状态与静止的挂起态之间的
转换。引入中程调度的主要目的是为了
提高内存的利用率和系统吞吐量。
中程调度实际上就是存储器管理中
的(交)置换功能(包括普通的交换和
修正的交换)。
5
6.1.3 短程调度
短程调度又称为进程调度或低级调度。
短程调度决定哪个进程可获得物理CPU,它是
处理机的终结调度,即微观调度。
短程调度的功能是:
从就绪进程队列中挑选一个进程并启动
执行该进程。
短程调度是最基本的一种调度,它可以
采用非抢占方式或抢占方式。
6
短程调度--进程的执行与队列
就绪队列
I/O 请求
I/O 队列
I/O
时间片用完
CPU
创建一个子进程
子进程执行
等待一个中断
中断发生
7
进程调度程序


为了调度的目的,操作系统必须从处于某种模
式的队列中选择进程。
这个选择通过适当的进程调度程序来执行。
进程
0
1
…
n
调度程序
8
三种调度的关系及调度时机
长程调度执行不频繁 (可能小于
每分钟一次)。
新 建
长程调度
就绪
挂起
中程调度较频繁。
长程调度
中程调度
短程调度执行最频繁 (每秒大于
10 次),需要快速地执行。
短程调度
就 绪
运 行
事件等待
阻塞
挂起
中程调度
阻 塞
退 出
9
6.2 调度算法
如何选择和设计调度算法是实现调
度的关键。对调度算法进行评价的常用
度量标准是:
平均周转时间
平均带权周转时间
平均等待时间。
10
6.2.1 短程调度标准
1.通常使用的标准
①面向用户的标准与单个用户或进程关
心的系统性能有关,如响应时间、周转
时间等。
②面向系统的标准是为了使系统高效地
运行,如吞吐量、处理机的利用率等。
面向用户的标准对所有系统都很重
要,但面向系统的标准在单用户系统中
并不重要。
11
6.2.1 短程调度标准
2. 与性能相关的标准
根据所面向的对象是否与性能相关,
可将其分为与性能有关的标准和与性能
无关的标准。与性能有关的标准是可定
量的,如响应时间和吞吐量。与性能无
关的标准是定性的,如预测性。
调度标准有些是相互独立的,不能
同时优化。
12
调度标准

标准:
 CPU 利用率:使 CPU 尽可能地忙
 吞吐量:单位时间内所完成的作业数
 周转时间:从进程提交到进程完成的时间间隔
 响应时间:从提交请求到到产生第一个响应的
时间
 等待时间:在就绪队列中等待所花的时间
13
调度标准(续)
优化问题


需要最小化的指标:
 周转时间,等待时间,响应时间
需要最大化的指标:
 CPU 利用率,吞吐量
14
6.2.2 优先权的使用
调度可基于优先权。在很多系统中,每个进程
都有一个优先权(或称为优先数),高优先权的进
程比低优先权的进程优先运行。下图说明了优先权
的使用。
RQ0
分派
CPU
释放
…
RQ1
接收
…
RQn
抢占
事件等待
抢占示例
事件发生
阻塞队列
15
6.2.2 优先权的使用
完全按优先权调度会出现的问题是,低优
先权进程可能饥饿,当有高优先权的进程流持
续到达时,就会出现这种情况。
饿死示例:
1973 年关闭 MIT 的 IBM 7094、发现 1967年提交的作业还未运行!
为解决这个问题,进程优先权可随其年龄
或执行历史改变,一种解决方案是“老化”:
即逐渐增加在系统中等待很长时间的进程的优
先权。
16
优先权调度例子(假设优先数小优先权高)
在时刻 0,以下进程按 P1,P2,P3,P4 顺序“同时”
到达

进程
P1
P2
P3
P4
CPU区间时间(ms) 优先权(数)
6
3
8
1
7
3
3
2
P2
0
P4
8
P1
11
P3
17
24
平均等待时间=?
17
6.2.3 调度策略
调度策略是指根据系统的资源分配策略所
设计的资源分配算法。
1. 先来先服务(FCFS)策略
FCFS策略遵循先来者优先服务的原则,当
CPU 空闲时,CPU 被分配给位于就绪队列头的
进程;当一个进程变为就绪态时,就被添加到
队列尾部。它本质上是非抢占式的。它简单易
行,但调度性能较差,有可能使短的、重要的
或紧迫的作业及进程长期等待。FCFS策略的另
一个问题是它有利于偏重CPU (CPU-约束)的
进程,不利于偏重I/O (I/O-约束)的进程。
18
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 被服务
P2
P3
P1
平均等待时间:(0+3+6)/3 = 3 ms
19
6.2.3 调度策略
2. 时间片轮转(Round-Robin,RR)策略
RR策略是一种抢占式的进程调度法,是
以就绪队列中的所有进程均以相等的速度向前
进展为特征的。它对每个作业给予一个运行时
间片,若一个作业在规定的时间片内未运行完,
则挂起该作业并调度另一作业(继续)运行。当
所有的作业都运行完分配的一个时间片后,第
一个作业才再次得到运行的机会。
20
6.2.3 调度策略
时间片值的设置是RR算法的关键问题。时
间片过大则退化为FCFS算法,时间片过小时则
称为“处理机共享”。此片值的设置可以是固
定的,也可以是可变的。
RR算法主要用于分时系统或事务处理系
统,可保证对各终端用户的及时响应。但它对
偏重CPU的进程和偏重I/O的进程有不同的处理
结果,可以采用虚拟时间片轮转(VRR)策略来
避免这个问题。新加入的特性是附加一个FCFS
策略队列来收集从I/O等待中释放的进程。
21
RR 例子
(时间片 = 4 ms,求平均等待时间)
进程
P1
P2
P3
P1
0
CPU 区间时间 (ms)
12
5
3
P2
4
P3
8
P1
11
P2
15 16
P1
20
平均等待时间=(0+4+8+7+7+1)/3=9ms
RR算法的平均等待时间通常是相当长的
22
6.2.3 调度策略
3. 最短作业优先(Shortest Job First,SJF 或
Shortest Process Next,SPN)策略
SPN策略是一种非抢占式的方式,它偏袒
短者,对短作业或短进程最为有利,它导致最
短的平均周转时间。但它忽略等待时间的长短,
对长作业不利,特别是在抢占方式下,可能会
使长作业无限延迟。对于抢占式SPN进程调度,
还需要考虑是按最短原则还是按剩余最短原则
抢占。理论上该方法在等待时间方面是最优的,
但实际上无法确切知道下一CPU瞬时段(区间)
的长度。
23
SJF 例子—求平均等待时间
进程
P1
P2
P3
P4
P4
P1
3
CPU区间时间
6
8
7
3
P3
9
P2
16
24
平均等待时间: (0+3+9+16)/4 = 7 ms
用 FCFS 算法平均等待时间:10.25 ms
24
CPU 区间预测 (1)



由于无法知道下一个 CPU 请求的长度(即
CPU 区间的长度),所以调度难以实现。
但是我们可以预测下一个 CPU 区间的长度。
下一个 CPU 区间通常可预测为以前 CPU
区间测量长度的指数平均。
25
CPU 区间预测 (2)



设 tn 为第 n 个 CPU 区间的长度
设 τn+1 为下一个 CPU 区间的预测长度
因此、对于 ,0 ≤  ≤ 1,定义
τn+1 =  tn +(1 - ) τn
参数  控制了最近和过去历史在预测中的相对加
权。如果 =0,那么 τn+1 = τn 近来历史没有影响(当
前情形被认为是暂时的);如果 =1,那么 τn+1 = tn ,
只有最近 CPU 区间才重要(历史被认为是陈旧的、无关
的)。常见的是 =1/2,这样最近历史和过去历史同样
重要。

这个公式定义了可以分配给下一个 CPU 区间的
指数平均。
26
6.2.3 调度策略
4. 最短剩余时间优先(Shortest Remaining Time,SRT)策略
SRT策略是抢占式的SPN策略,它将较高的优
先级给予具有最短剩余CPU瞬时段的作业。和
SPN策略一样,根据执行时间来选择进程执行可
能会引起长进程的饥饿,但SRT策略轮转时间性
能比SPN策略好。
27
6.2.3 调度策略
5.最高响应比优先(Highest Response Ratio Next,HRRN) 策略
HRRN策略是FCFS和SPN两种策略的折衷方案,
它既优待了短作业,又不忽略先来者。它是非抢占式
的。它在当前进程完成或挂起时,从就绪进程中选择
具有最高响应比的进程。该算法的好处是考虑了进程
的等待时间,有利于短作业。长作业的响应比随等待
时间的增加而增大,最终获得处理。
响应比 =
作业等待时间 + 要求执行时间
要求执行时间
28
6.2.3 调度策略
6. 多级反馈队列(Feedback,FB)策略
FB策略是指进程依赖于其条件的变化从
一个队列移到另一队列,是抢占式调度算法。
它综合考虑了多种因素,根据进程运行情况的
反馈信息动态改变进程的优先级,按优先级别
组织设置了规定CPU时间片的各就绪队列;对
同一队列中的各就绪进程按FCFS或RR算法调
度。 FB策略不必事先知道各种进程所需的执
行时间,而且还可以满足各种类型进程的需要,
是目前公认为较好的一种进程调度策略。
29
6.2.3 调度策略—示例
假如有4道作业,它们的提交时间及运行时间如下表所示:
作业号
提交时刻
运行时间(分钟)
1
8:00
120
2
8:30
30
3
9:00
6
4
9:30
12
采用单道运行,试问下述调度算法下,它们的调度顺序,并分别计算各
调度算法下三个作业的平均周转时间 T 和平均带权周转时间 W。
(1)FCFS(先来先服务)
(2)SJF(短作业优先)
(3)HRRN(响应比高者优先)
n
n
T=1/N(∑Ti),Ti=结束时刻-提交时刻; W=1/N(∑Wi), Wi= Ti /作业 i 实际执行时间
i=1
i=1
30
调度策略—示例(续)
(1)FCFS:调度顺序为1
2
3
4
作业号
到达时刻
要求运行时间
(分钟)
结束时刻
周转时间Ti(分钟)
带权周转时间Wi
1
8:00
120
10:00
120
1
2
8:30
30
10:30
120
4
3
9:00
6
10:36
96
16
4
9:30
12
10:48
78
6.5


T=1/4(120+120+96+78)=103.5分钟
W=1/4(1+4+16+6.5)=6.875
31
调度策略—示例(续)
(2)SJF(SPN):调度顺序为1


3
4
2
作业号
到达时刻
要求运行时间
(分钟)
结束时刻
周转时间Ti(分钟)
带权周转时间Wi
1
8:00
120
10:00
120
1
3
9:00
6
10:06
66
11
4
9:30
12
10:18
48
4
2
8:30
30
10:48
138
4.6
T=1/4(120+66+48+138)=93分钟
W=1/4(1+11+4+4.6)=5.15
32
调度策略—示例(续)



(3)HRRN
作业1最先到达并运行,当作业 1 完成时(10:00),
作业 2、3、4都到达,则计算它们的响应比:
作业2响应比=(90+30)/30=4
作业3响应比=(60+6)/6=11
作业4响应比=(30+12)/12=3.5
由于作业3的响应比最高,所以作业3先运行。
当作业3完成时(10:06),计算作业2、4的响应比:
作业2响应比=(96+30)/30=4.2
作业4响应比=(36+12)/12=4
由于作业2的响应比大于作业4,所以接着作业2运行;
最后由作业4运行。
33
调度策略—示例(续)
(3)HRRN:调度顺序为1
3
2
4
作业号
到达时刻
要求运行时间
(分钟)
结束时刻
周转时间Ti(分钟)
带权周转时间Wi
1
8:00
120
10:00
120
1
3
9:00
6
10:06
66
11
2
8:30
30
10:36
126
4.2
4
9:30
12
10:48
78
6.5


T=1/4(120+66+126+78)=97.5分钟
W=1/4(1+11+4.2+6.5)=5.675
34
6.2.4 性能比较
这里主要利用基本的排队公式,并假设
进程到达率满足泊松分布,服务时间满足指数
分布。
首先,在服务时间相互独立时,选择下一个服
务对象应满足下面的关系:
tq
1

ts 1  
其中,tq为轮转时间;ts为平均服务时间;
ρ=处理机利用率。
35
6.2.4 性能比较
基于优先权的调度,其中每个进程
被赋予了一个与估计运行时间无关的优
先权,那么,它和FCFS策略有相同的平
均轮转时间和平均标准化轮转时间,而
且抢占或非抢占对这些平均值无影响。
除了RR和FCFS策略外,其他的调度策略
在选择时需要估计运行时间,只能通过
与FCFS策略比较,了解基于服务时间的
调度算法的性能。
36
6.2.5 模拟模型
模拟模型是在特定假设下,运用于特定的
进程集的,有一定局限性。尽管如此,还是可
以从中获得一些有用的结论。
通过模拟实验可以发现FCFS策略性能很差 ,
RR策略对所有进程都比较公平,SPN策略性能
比RR策略好,SRT策略性能比SPN策略优,FCFS
策略较适合长进程,SPN策略适合短进程,
HRRN策略执行效率介于FCFS策略和SPN策略之
间,多级反馈队列调度对短进程较好。
37
6.2.6 公平分享调度策略
公平分享调度(Fair-Share Scheduling,FSS)
策略隐含了调度的基本原理。每个用户被
赋予某种权,它规定了该用户所占全部资
源的份额,并且所有用户共享一个处理机。
这种策略采用线性工作方式。FSS的目的是
监视用户使用资源的情况,使超过其份额
的用户获得较少的资源,而少于其份额的
用户获得更多的资源。
38
6.3 多处理机调度
多处理机一般是用来提高多道程序
的性能与可靠性的。多处理机可分为:
松耦合多处理机,特定功能多处理机,
紧耦合多处理机。本节主要讨论紧耦合
多处理机的调度。紧耦合多处理机系统
的操作系统除了单处理器操作系统的功
能以外,还应提供处理器的负载平衡、
处理其发生故障后的结构重组等。
39
6.3.1 粒度
描述多处理机的一个好方法是考虑系统中进程
的同步粒度,或同步的频率。可以把粒度分成5个层
次,如下表所列
描
粒度大
小
述
细
单指令流的固有并行性
中
单个应用中的并行处理或多任务处理
粗
超粗
独立
多道程序环境中并发进程的多进程处
理
通过网络节点的分布式处理以形成一
个单一计算环境
大量无关进程
同步间隔(指令
条数)
<20
20~200
200~2000
2000~1M
>2000
40
6.3.2 设计要点
1.分配进程给处理机
 静态分配和动态分配:静态分配有可能使某个
处理机长期空闲,其等待队列空,而另一个处
理机却有一个很长的等待队列。动态分配指一
个进程在其整个生命期内,在不同时间可以被
不同的处理机执行。在一个紧耦合共享存储器
系统中,所有进程的现场信息都可以被所有处
理机使用,因此调度某个进程的耗费应独立于
调度它的处理机。动态分配优点是消除了处理
机忙闲不均的现象,但调度的开销可能较大。
41
6.3.2 设计要点

主/从结构和对称结构:在主/从结构中,OS的
主要内核功能总是运行在一个特定的(主)处理机
上,其他从处理机只执行用户程序。这种结构
提供了一种简单的方法来管理不同的内核进程
和其他进程。但是主处理机会成为性能瓶颈,
发生故障会使整个系统崩溃。在对称结构中,
OS可以在任何处理机上运行,并且每个处理机
都从可用进程池中选择进程,进行自身的调度,
这种结构使操作系统变得复杂,但它可提供一
系列而不是一个处理机执行内核进程。
42
6.3.2 设计要点
2. 在单处理机上使用多道程序设计
在一个处理粗粒度或独立同步粒度的传
统多处理机中,要想获得更高的性能,
则每个单独的处理机都应该能在一些进
程中选择。
43
6.3.2 设计要点
3. 进程的实际分派
关于多处理机调度的最后一个设计要点是选择
哪一个进程运行,从多道程序单处理机系统中
可看出,使用优先权或执行历史的调度策略比
简单的FCFS策略的性能要好得多。在多处理机
中,这些调度策略并不复杂。在传统的进程调
度中,一个较简单的方法可以有较高的效率,
但在线程调度中出现了一些新特点,这些特点
比优先权或执行历史更重要。
44
6.3.3 调度策略
1. 线程调度
使用了线程这个概念之后,执行的概念
就与进程分开了。一个应用程序可用一
系列线程的形式完成,它们之间相互配
合,并在相同的地址空间同时运行。在
多处理机上调度线程和处理机分配时,
较多使用以下四种方法:负载共享、群
调度 、专用处理机分配 、动态调度 。
45
6.3.3 调度策略
2. 负载共享
线程并不分配给某一特定的处理机。系
统中有一个全局就绪队列,每个处理机
空闲时就从该队列中选择一个线程。这
里的负载共享要与负载平衡相区别。负
载共享是最简单的方法,它直接继承了
单处理机系统的许多好处。
46
6.3.3 调度策略
负载共享的优点:对处理机平均分配负载;不
需要集中调度者;对就绪队列可按单处理机所
采用的各种方式加以组织,其调度算法也可沿
用单处理机所用的算法。
负载共享的缺点:集中队列占据了部分内存,
对它的访问要求互斥。因此,在许多处理机同
时都要工作时,就会成为瓶颈; 被抢占进程不
可能再在同一台处理机上运行;如果所有进程
都被放入一个公共线程池,那么同一程序的所
有线程不可能同时获得处理机。
47
6.3.3 调度策略
3. 群调度
相关联的线程集被一个处理机集一对一调用。
群调度用于组成一个进程的多个线程的同时调
度。群调度对于中粒度和细粒度的并行应用是
必要的。它提高了紧耦合进程并发执行的效率,
减少了调度耗费 。群调度的使用产生了对处理
机分配的需求。研究表明,群调度策略的某些
形式在总体上要比负载共享要好。
48
6.3.3 调度策略
4. 专用处理机分配
与自我调度相对应,其调度是隐式的,在
程序执行期间,每个程序都被分配与其线
程数相等的处理机,程序结束时,将所有
的处理机归还,以便其他程序使用。专用
处理机分配和群调度在调度时都涉及到处
理机分配。多处理机系统上的处理机分配
类似于单处理机系统上的请求调页式内存
分配。群调度和专用处理机分配可以避免
处理机抖动和处理机碎片等这些问题。
49
6.3.3 调度策略
5. 动态调度
程序的线程数可随程序的的执行而改变。
操作系统负责作业的处理机分配,每个作业使
用处理机,将其可运行的任务集映射成线程,由
应用决定运行哪个子集。这种方法中,操作系统
的调度仅限于处理机分配。这种方法并不适合所
有的应用。对适合于动态调度的任务来说,这种
方法比群调度和专用处理机分配要好。
50
6.4 实时调度
实时计算是一项重要的计算机科学和工程
设计的方法。操作系统,特别是调度,可
能是实时操作系统最重要的组件。
51
6.4.1 实时操作系统的特性
1.决定性与响应性
决定性是指系统得知中断前的延迟时间;
响应性是指系统在得知中断后多长时间内对
这个中断进行服务。衡量系统决定性能力的
有效方法是衡量从一个高优先权设备中断到
服务开始的最大延迟。响应包括初始处理中
断和开始常规中断服务(ISR)的时间、执行
ISR的时间、中断嵌套的影响。决定性和响
应性一起决定了对外部事件的响应。
52
6.4.1 实时操作系统的特性
2. 用户控制
用户控制在实时操作系统中要比其他操
作系统应用得要广。在实时操作系统中,
有必要允许用户详细控制任务优先级,
也应允许用户指定分页或进程交换的特
性。
53
6.4.1 实时操作系统的特性
3. 可靠性
可靠性对实时操作系统比对非实时操作
系统要重要得多,实时操作系统必须实
时响应和控制事件,性能下降也许会导
致可怕的后果。
54
6.4.1 实时操作系统的特性
4. 弱失效操作
弱失效操作就是指系统在失效时尽量保
护其数据和能力。弱失效操作的一个重
要方面是稳定性。
55
6.4.1 实时操作系统的特性
实时系统的特性:快速现场切换;尺寸小;
迅速响应外部中断;多任务并存,并有如信
号量、信号、事件等进程间通信工具;使用
专门的线性文件来收集数据;基于优先权的
抢占调度;最小化禁止中断的时间间隔;简
单地延迟任务一段时间或停止/重新开始任
务;特殊的警告和超时。
56
6.4.1 实时操作系统的特性
实时操作系统的核心是短程任务调度。
在设计调度时,公平性和最小化平均响应
时间并不重要,重要的是使所有强实时性
任务都在规定时间内完成,同时应尽量在
规定时间内完成更多的弱实时性任务。
57
6.4.1 实时操作系统的特性
实时进程
的请求
进程 1
时钟
实时进程加到运行队列
中等待下一执行片段
进程 2
…
进程 n
实时进程
调度时间
时间片段轮转抢占调度
58
6.4.1 实时操作系统的特性
实时进程的请求
当前进程
调度时间
实时进程加到运行队列头部
实时进程
当前进程阻塞或完成
优先权驱动的非抢占调度
59
6.4.1 实时操作系统的特性
实时进程的请求
当前进程
抢占点
等待另一个抢占点
实时进程
调度时间
优先权驱动,在抢占点抢占调度
60
6.4.1 实时操作系统的特性
实时进程的请求
当前进程
实时进程抢占当前
进程并立即执行
实时进程
调度时间
立即抢占调度
61
6.4.2 实时调度




实时调度强调的是任务的时间约束。常见的实时调度算
法可分为四类:
静态表驱动方法。对可行的调度静态分析,分析结果就
是一个调度,它决定一个任务何时必须执行。
静态优先权驱动抢占方法。也是静态分析,但不产生调
度,分析的目的是为了分配任务优先权。
动态计划方法。在运行时决定可行性而不是在执行开始
时决定优先权。
动态尽力方法。不进行可行性分析,系统尽力满足所有
进程的期限并放弃所有已超过期限的进程。
62
6.4.3 期限调度
实时调度中考虑期限时,要考虑接下来调度哪
个任务、抢占哪个任务。如果使用开始期限或完成
期限,则可使超过期限的任务数最少,这个结论适
用于单处理机系统和多处理机系统。另一个关键的
设计问题是抢占。设定了开始期限,非抢占调度就
比较好;对带有完成期限的系统,用抢占策略较好;
对开始期限的阶段性实时任务调度,最简单的方法
是执行开始期限最早的就绪任务 。
63
6.4.4 比率单调调度
解决阶段性任务的多任务调度冲突
问题的一个较好的方法是比率单调调度
(RMS)。RMS根据任务的周期来分配优
先权,周期短的任务优先级高,周期长
的任务优先级则低。如果将优先权作为
其比率的函数,结果就是一个单调递增
函数。
64
6.4.4 比率单调调度
高
RMS任务
最高比率和最高
优先权任务
优
先
权
最低比率和最低
优先权任务
低
比率/Hz
65
6.4.4 比率单调调度
衡量一个阶段性调度算法效率的方法是,看其满
足所有任务的强期限的程度。对RMS,假设有n个
任务,每个都有一固定的阶段和执行时间,那么要
满足所有的期限,必须满足下面的条件:
t C1
T1

t C2
T2

t Cn
Tn
≤n(21/n–1)
66
RMS的上限值
RMS vs. EDF
n
n(21/n–1)
1
2
3
4
5
6
┇

1.0
0.828
0.779
0.756
0.743
0.734
┇
ln20.693
1) RMS可调度条件强于
EDF
2) RMS调度较EDF实现简
单
67
RMS例子:
判定右表中进程是
否可调度?如果可调
度那么结果如何?
进程
Ti
Ci
A
100
20
B
150
40
C
350
100
C1/T1+C2/T2+C3/T3=0.2+0.267+0.286=0.753 ≤n(21/n–1)
所以可调度,调度结果为:
A1
0
B1
20
C1
60
A2
B2
160 180
A3
A4
220 240
320 340
B3
C2
380
480
68
6.4.4 比率单调调度
RMS已被广泛用于工业应用中,原因如下:
实际应用中性能差别不大;可以将RMS
调度强实时任务时没有使用的处理机时间用
来执行较低优先权的任务;RMS能保证稳定
性。对实时调度算法研究主要集中在硬实时、
静态调度,并且无论是单处理器调度还是分
布式调度,一般是以RMS算法为基础。
69
6.5 响应时间
响应时间是系统响应一个请求执行特定任
务的时间。响应时间越短越好。然而,响应时
间越短,计算机运行能力和竞争环境的代价就
越大。对于一给定响应时间的评价必须相对于
它的代价而言。
对于响应时间的报告结果是基于在线的处理分
析。一个处理包括一个用户终端命令和系统的
回答。这是在线用户工作的基本单元,可以分
为系统响应时间和用户响应时间两个时间顺序。
70
全局优先权
最高
实时进程
优先级
系统进程
分时进程
最低
71
6.2.2 优先权的使用
Unix/Linux 进程优先级
Windows 进程优先级
在 Unix/Linux 下优先数
在 Windows 2000/XP
越大、优先级越低。例如:执行 下优先数越大、优先级越高。
ps 命令查看进程。
例如:低优先级为 4
ps –ec
1
1
8
8
10
10
11
11
58
58
14426
15471
9947
15613
9769
17644
14983
16209
19050
19051
olwmslave
-csh
in.rlogind
in.telnetd
in.rlogind
-csh
olwmslave
-csh
a.out
-csh
标准优先级为 8
高优先级为 13
实时优先级为 24
浏览 Windows 任务管
理器
返回
72