华东理工大学《操作系统》第四章处理机调度

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

10
(4)基于优先级调度算法:静态法和动态法
作业调度程序根据JCB优先数决定进入内存的次序,系统开销小
(a)静态优先级(外部优先数)
用户提交作业时,根据急迫程度规定适当的优先数 系统或操作员根据作业类型及要求资源情况指定。
(b)由系统动态计算优先级(内部优先数) 例如:可按如下公式计算作业的优先数:
要求: (1)提供必要的调度信息 就绪时间、开始时限、完成时限、处理时间、资源要求、优先级 (2)快速的外部中断响应能力 (3)调度方式 硬实时任务广泛采用抢占调度方式 有些软实时任务也可用非抢占方式 (4)快速任务分派,进程切换

1.实时系统的特点
25
2.实时调度算法
1)时间片轮转法
仅能获得秒级的响应时间,只适用于一般实时信息处理,不能 用于要求严格的实时控制系统中。
5
1)调度算法性能的衡量
调度算法的确定基于一定因素,一般系统的设计 目标有:
(1)每天运行尽能多的作业; (2)使CPU保持忙; (3)使I/O保持忙; 常用指标: 周转时间:指将一个作业提交给计算机系统后到该 作业的结果返回给用户所需时间。 吞吐率:在单位时间内,一个计算机系统所完成的 总工作量。 响应时间:从用户向计算机发出一个命令到系统把 相应结果返回所需时间。 6 设备利用率:输入输出设备的使用情况。 (4)对所有作业公平合理。
优先数
0 时间片S1
PCB队列
1 时间片S2 ……
PCB队列
j 时间片Sj
PCB队列
……
PCB队列
i-1 时间片Si-1
i
时间片Si
PCB队列
多级反馈队列
24
注:时间片S1<S2<S3< …… <Si
4.6实时系统调度方法
• 实时是指计算机对于外来信息能够以足够快的速度进 行处理,并在被控对象允许的时间范围内作出快速反 应。
26
可达几毫秒至100微秒。
3.时限调度算法

以满足用户要求的时限为调度原则 分两种: 处理开始时限 处理结束时限 基本思想:按用户的时限要求顺序设置优先级,时
限要求最近的任务优先占有处理机
27
时限调度算法举例

具有处理开始时限要求的非周期实时任务调度 时延要求不严格时,可采用处理开始时限优先 的非抢占调度策略
周转时间与平均周转时间

假定某一作业进入“输 入井”的时间即作业提交 时间为TSi ,作业i的完成 时间为TEi, 它的周转时间为Ti =TEi – TSi 则作业平均周转时间为:
n 1 T Ti * i 1 n




一个作业的周转时间即 该作业在系统内停留的 时间,包含两部分:等 待时间和执行时间。 Ti=Twi+Tri Twi指作业由后备状态到 执行状态的等待时间。 Tri作业进入执行态,在 内存的时间
第四章 处理机调度 4.1

分级调度
处理机是计算机系统中的重要资源
处理机调度算法对整个计算机系统的综合性能 指标有重要影响 可把处理机调度分成四个层次:
高级调度 中级调度 低级调度 线程调度

1
1)高级调度也称为作业调度或宏观调度
高级调度的时间尺度通常是分钟、小时或天
2)中级调度涉及进程在内外存间的交换,从存
18
5.各种进程调度算法
Hale Waihona Puke 1)先进先出进程调度算法(FIFO)
按照进程就绪的先后次序来调度进程 优点:实现简单 缺点:没考虑进程的优先级 短进程可能等待长时间
19
2)基于优先级的调度 (HPF—Highest Priority First)
优先选择就绪队列中优先级最高的进程投入运行
确定优先数的方法:
其中,ri 为某作业i的实际执行时间
8
用来比较某种调度算法对不同作业流的调度性能。
2).常见的批处理作业调度算法
(1)先来先服务算法 (FCFS:First Come First Serve) 每个作业按照它们在队列中的等待时间长短来调度,可 能造成短作业等长时间。 (2)最短作业优先算法(SJF:Shortest Job First) 短作业优先,吞吐量大,但长作业可能得不到服务
1 3 3 2 3 4 4 2 2 t 1
处理开始时限 执行任务 任务到达
1
4
28
时限调度算法举例


2)具有处理完成时限要求的周期实时任务调 度,采用抢占式调度策略 如系统中有两个周期性实时任务A、B,A要求 每30ms执行一次,处理完成时限为30ms,执行 时间为15ms,而B要求每75ms执行一次,处理完 成时限为75ms,执行时间为45ms.
0
30
t
30
作业

4.2 4.4 4.6
31
储器资源管理的角度来看,把进程的部分或全 部换出到外存上,可为当前运行进程的执行提 供所需内存空间,将当前进程所需部分换入到 内存。指令和数据必须在内存里才能被处理机 直接访问
2
3)低级调度也称微观调度,进程调度,从处理机资源分
配的角度来看,处理机需要经常选择就绪进程进入运 行状态,低级调度的时间尺度通常是毫秒级的。由于 低级调度算法的频繁使用,要求在实现时做到高效
用来衡量不同调度算法对同 一作业流的调度性能
其中,n为被测定作业流中的 作业数
7
B.带权周转时间

•平均带权周转时间:
带权周转时间是作业周 转时间与作业执行时间 的比: Wi=Ti/Tri
n 1 n Ti W Wi * t n i 1 i 1 r i 1 * n
1)静态优先数法: 在进程创建时指定优先数,在进程运行时优先数不 变 2)动态优先数法: 在进程创建时创立一个优先数,但在其生命周期内 优先数可以动态变化。如等待和占有CPU时间长短 优先数可改变
20
3)时间片轮转调度算法 (RR—Round Robin) 把CPU划分成若干时间片(每个时间片的大小视情 况而异,如50ms,100ms或200ms等),并且按顺序赋 给就绪队列中的每一个进程,进程轮流占 有CPU,当时间片用完时,即使进程未执 行完毕,系统也剥夺该进程的CPU,将该 进程排在就绪队列末尾。同时系统选择另 一个进程运行.
2)非抢占优先调度算法
常用于多道批处理系统中。此算法精心处理后可获得数秒至数 百毫秒的响应时间,可用于不太严格的实时控制系统中。
3)基于固定点抢占的优先权调度算法
允许抢先的固定点间隔比时间片小得多,固定点到来即可将CPU 分配给高优先级任务,可达几十毫秒至几毫秒。可用于大多数的 实时系统中。
4)立即抢占的优先权调度
等待
输 出 井
输出设备
4
作业状态转换图
批处理作业的调度
作业调度又称高级调度或宏观调度,相应地称 进程调度为低级(微观)调度。
主要功能:
1)审查系统能否满足用户作业的资源要求; 只要通过调用相应的资源管理程序的有关部分,审核其JCB 表中是否能满足要求即可 2)按照一定的算法从输入井中的后备作业中选取作业; 调度的关键在选择恰当的算法 3)为选中作业做好执行前的准备,建立进程,分配资源; 4)作业结束后回收资源及JCB。
作业 进入时间 运行 开始时间 结束时间 周转时间 带权周转 时间 (分钟) 时间 (分钟) 120 120 1 8:00 8:00 10:00 50 120 2.4 8:50 10:00 10:50 10 120 12 9:00 10:50 11:00 20 90 4.5 9:50 11:00 11:20 =112. .5 作业平均周转时间 450 19.9 = 4.975 作业带权平均周转时间
JOB1 JOB2 JOB3 JOB4
10:00 11:00 10:10 11:20
15
4.3 进程调度算法
1.进程调度
进程调度的任务是控制协调进程对CPU的竞争即按一定的调度算 法从就绪队列中选中一个进程,把CPU的使用权交给被选中的 进程
16
要解决的问题: WHAT:按什么原则分配CPU —进程调度算法 WHEN:何时分配CPU —进程调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的切换)
4)线程调度:选择就绪线程进入运行状态,
注:只有批处理系统中存在作业调度,实时与分时系统 中不存在作业调度,只有进程调度、交换调度和线程 调度
3
提交状态
数据
后备状态
执行状态
完成状态

源程序
作业说 明书
数据
输 入 程 序
作 业 调 度 输 出 程 序
作业控制进程 运行
进程 调度
输入设备
输 入 井
就绪
9
(3).响应比高者优先(HRN)的调度算法:
响应比RP定义如下:
作业响应时间 Rp 估计值 运行时间
其中响应时间为作业进入系统后等待时间加上估计的运行时 间,因此,响应比可写为:
作业等待时间 Rp 1 估计值 运行时间
所谓响应比高者优先的算法,就是在每调度一个作业投 入运行时,计算后备作业表中每个作业的响应比,挑选 响应比最高者。兼顾FCFS和SJF
JOB1 JOB2 JOB3 JOB4
10:00 11:20 10:10 10:30
14
最高响应比优先作业算法计算结果
作业 进入时间 估计运行 开始时间 时间 (分钟) 120 8:00 8:00 50 8:50 10:10 10 9:00 10:00 20 9:50 11:00 作业平均周转时间 T = 87.5 作业带权平均周转时间 W = 4.075 结束时间 周转时间 (分钟) 120 130 70 90 350 带权周转 时间 1 2.6 7 4.5 16.3
2 进程调度的功能
(1) (2) (3)
记录系统中所有进程的情况,PCB. 选择占有处理机的进程。不同的系统,不同 的选择策略。 进行进程上下文切换 进程上下文由进程程序段、数据段、寄存器 及相关数据结构PCB等组成。
17
3 进程调度的时机



当一个进程运行完毕,或由于某种错误而终 止运行 当一个进程在运行中等待资源被阻塞如P原 语 分时系统中时间片到 在进程通信中,执行中的进程执行了 sleep(),wait()
29
进程
A1 A2 A3
开始时间
执行时间
完成时限
0 30 60
15 15 15
30 60 90
A4
….. B1 B2 B3 …..
90
…. 0 75 150 …
15
….. 45 45 45 …
120
… 75 150 225 …
A1
B1 15
A2
B1 45
B1 60
A3 75
A4 90
B2 105 130
优先数 = 用户规定优先数 – 作业处理时间 + 作业等待时间 – 输出量
11
3).作业调度算法应用例子1
假设在单道批处理环境下有四个作业,已知它们 进入系统的时间、估计运行时间 应用先来先服务、最短作业优先和最高响应比优 先作业调度算法,分别计算出作业的平均周转 时间和带权的平均周转时间
12
先来先服务调度算法计算结果
JOB1 JOB2 JOB3 JOB4
13
最短作业优先作业算法计算结果
作业 进入时间 估计运行 开始时间 时间 (分钟) 120 8:00 8:00 50 8:50 10:30 10 9:00 10:00 20 9:50 10:10 作业平均周转时间 T = 95 作业带权平均周转时间 W = 3.25 结束时间 周转时间 (分钟) 120 150 70 40 380 带权周转 时间 1 3 7 2 13
21
分时系统中常用时间片轮转法 时间片选择问题: 固定时间片 可变时间片 与时间片q大小有关的因素: 1)系统响应时间R 2)就绪队列中所允许的最大进程数N
R与就绪队列中所允许的最大进程数N和q成比例 R=Nq. q=R/N N一定时,q正比于系统所要求的响应时间
22
4) 多队列反馈轮转算法:
*首先系统中设置多个就绪队列; * 每个就绪队列分配给不同时间片,优先级高的为第 一级队列,时间片最小,随着队列级别的降低,时 间片加大; 当第一级队列空时,就去调度第二级队列,如此类 推; 每个进程并不固定在一个队列上,系统将新创建的 进程放入优先权最高的队列中去; • 当进程在CPU上运行完一个时间片以后并被投入下 一个队列; • 每个队列均按先进先出的算法组织; • 进程由于等待而放弃CPU后,进入等待队列,一旦 23 等待的事件发生,则回到原来的队列末尾。
相关文档
最新文档