计算机操作系统 第四章 处理机调度

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其任务是按一定的方法对外存上的 大量后备作业进行选择,选择部分作业 分配内存等必要的资源,并建立相应的 进程。
当该作业执行完毕时,回收系统资源。
分级调度
中级调度:又称交换调度、平衡负 载调度或中程调度(Medium-term Scheduling)。
其主要任务是根据内存和进程的当前 状态来决定内存和外存中的进程映像对 换。 挂起/激活

响应比定义:响应比的计算公式与?差不多?
响应比=作业等待时间/作业计算时间
每当调度时,先计算每个作业的响应比值, 选择响应比最高者运行。
该算法属于非剥夺式算法。
调度算法
最高响应比算法 该算法既考虑作业等待时间,又考虑作业
的计算时间。同等条件优待短作业,同时又 不使长作业的等待时间过长,改进了调度性 能。
调度算法设计原则
选择调度算法的原则 周转时间:作业从提交开始,到完 成为止的时间间隔称作业的周转时间。
调度应使作业周转时间或平均作业 周转时间尽可能短。提高整体执行效
率。批处理系统
调度算法设计原则
平均周转时间----系统效率
作业i的周转时间为;
Ti=Tei-Tsi
其中Tei为完成时刻,Tsi为提交时刻。 则n个作业平均周转时间为:
一队列中按FCFS原则; 若不存在高优先级进程,则从较低一
级的就绪队列中选择。
调度算法
多级反馈轮转法 时间片用完而未完成的进程加入低
一级就绪队列,但时间片加长。
实时调度方法
实时系统的特点 实时系统负责在用户要求的时限内
进行事件处理和控制。 实时系统系统中必须采用剥夺式优
先级算法,以保证紧急事件的处理及时 性。
1 n
T = n i=1 Ti
调度算法设计原则
带权周转时间----系统公平性 作业的周转时间包含两部分:等待
时间和执行时间,即:Ti=Twi+Tri; Twi指作业i由后备状态到执行状态的
等待时间。
带权周转时间:Wi=Ti/Tri
调度算法设计原则
带权周转时间 作业的平均带权周转时间定义为:
调度算法
轮转法(RR,round robin) 在交互式系统中,时间片大小的选
择是根据用户对响应时间的要求R和就 绪队列中所允许的最大进程数Nmax确 定的。
时间片大小:q=R/Nmax
调度算法
多级反馈轮转法 其思想是将就绪进程分为多级,较高
优先级的队列分配时间片较短。 调度先从高一级就绪队列中选择,同
该调度算法首先选中队首进程,即截 止时间最近的那个进程。
Βιβλιοθήκη Baidu
实时调度方法
实时系统调度算法 3)最少裕度法 基本思想:先计算各个进程的富裕时间,
即裕度(laxity),优先选择裕度最少的 进程执行。
裕度的基本计算公式为: 裕度=截止时间-(就绪时间+计算时间)
思考题
1. 简述处理机的三级调度机制。 2. 作业调度的主要算法及其思想。 3. 进程调度的主要算法及其思想。
调度算法
先来先服务(FCFS,First Come First Serve )
按作业进入后备队列的先后次序,先进入 系统的作业优先被选中。
这是一种非剥夺式算法,易实现;但不利 于短作业&优待了长作业,可能使短作业周 转时间变得很大。影响批作业的平均周转时 间。适用于作业调度和进程调度。
调度算法
20
要求:应用先来先服务、最短进程调度算法,分别给出进程
调度的顺序、并计算出平均周转时间.
先来先服务算法(FCFS)--计算结果
P1
120 8:00
P2
P3 P4
50
10 20
10:00
10:50 11:00 11:20
时间
进入时间 估计运行时间 开始时间 (分钟)
结束时间
周转时间 (分钟)
P1
8:00
分级调度
中级调度: 现代操作系统中,交换调度实现了虚
拟存储技术,有效扩充了内存。
分级调度
低级调度:又称进程调度(或线程调 度)、短程调度(Short-term Scheduling)。
其主要任务是按照某种策略选取1个 就绪状态的进程分配处理机。
该调度可能出现进程(线程)上下文 切换,以执行新的进程(线程)。
估计运行时间 (分钟)
开始时间
11:20
结束时间
时间
周转时间 (分钟)
JPOB11 JPOB22
8:00 8:50
120
8:00
10:00
120
50
10:30
11:20
150
JPOB33 JPOB44
9:00 9:50
10
10:00
10:10
70
20
10:10
10:30
40
平均周转时间 T = 95 380
调度算法
动态优先级(进程) 动态优先级根据以下原则确定: (1) 根据进程已占有CPU时间的来决定。
占有处理机的时间愈长,则在被阻塞之后再 次获得调度的优先级就越低。
(2) 根据就绪时间长短来决定。一个进程 在就绪队列中等待时间越长,它获得的优先 级就越高。
调度算法
轮转法(RR,round robin) 其思想是将CPU计算时间分成若干个
选估计计算时间最短的作业投入运行。 这是一种非剥夺式算法,用户提交作
业的同时给出估计计算时间。 这个算法显然有利于短作业。
调度算法
最短作业优先SJF(Shortest Job First ) 主要不足:
1)估计计算时间难以精确; 2)长作业可能会出现饥饿现象;
该算法仅适用于作业调度。
调度算法
最高响应比(HRRF,Highest Response Ratio First)算
时间间隔单位,即时间片。 每个进程每次最多执行1个时间片;
若时间片用完仍未结束,则让出CPU, 排到就绪队列尾部,等待下一次调度。
调度算法
进程的时间片可以相等,也可以不相等。
该算法仅适用于进程调度,不适用于作业 调度。
调度算法
轮转法(RR,round robin) 时间片大小的选取非常重要。 若时间片过短,则调度次数增多, 进程切换次数增加,额外开销增大。 若时间片过长,则降低了并发性, 甚至可能变成先来先服务法。
最高响应比优先算法--计算结果
70+50, 60+10,10+20
80+50, 20+20
50 10 20
50 20
P1
P3 P2
P4
时间
120 8:00
10 50
20
10:00 10:10 10:30
11:20
调度算法
优先级法 优先级法可用作作业/进程调度策略。 系统或用户按某种原则为作业或进程
指定一个优先级,表示其优先权。 该算法的核心是确定进程或作业的优
先级。确定优先级的方法可分为静态法 和动态法。
调度算法
静态优先级: 静态优先级按以下原则确定: (1) 由用户紧急程度输入一个适当的优先
级,系统对高优先级收取高费用。 (2) 由系统或操作员根据作业类型指定优先
级。类型可由用户约定或操作员指定。 (3) 系统根据作业要求资源情况确定优先级。
处理机调度用来完成这方面的工作。
New
Ready Suspend
Activate
Ready
Release Running
Exit
Timeout
Event Occurs
Event Occurs
Activate Blocked
Suspend
Blocked
低级调度 中级调度 高级调度
分级调度
基本的处理机调度可分为三级: 高级调度:也称作业调度或长程调 度(Long-term Scheduling) 。
缺点:计算响应比需要额外的时间开销, 且计算时间需要估计,实际效率要比SJF 差。
该算法适用于作业调度和进程调度。
调度算法-例子
假设在单道批处理环境下有四个进程,已知它们进 入系统的时间、估计运行时间:
进程
进入时间 估计运行时间(分钟)
P1
8:00
120
P2
8:50
50
P3
9:00
10
P4
9:50
计算机操作系统
(2015版)
讲 授:刘延华
Email:
Tel:
福州大学数学与计算机科学学院
福建省网络计算与智能信息处理重点实验室
第4章 处理机调度
分级调度 作业调度 进程调度 调度算法 实时系统调度方法 课时:6.0
概述
在计算机系统中,可能同时有数百个 作业请求执行。
如何挑选若干作业装入主存、如何给 进程分配处理器,是操作系统中的一个 重要问题。
1 n
W = n i=1 Wi
为何能够体现系统的公平性? 越大&越小更公平?
调度算法设计原则
调度算法的执行方式 非剥夺式:一个作业一旦投入运行, 除非其自愿让出CPU,否则一直运行 完成,调度算法不得剥夺其运行。 剥夺式:系统可以根据调度算法, 当满足某条件时,立即中断正在运行 的进程,并切换到其他进程。
先来先服务(FCFS) 在实际操作系统中,尽管很少单独使
用FCFS算法,但和其他一些算法配合 起来,FCFS算法在os中均有实现。
例如: 基于优先级的算法中对于相同 优先级的作业即采用FCFS方式。
调度算法
最短作业优先SJF(Shortest Job First ) 算法以作业的估计计算时间为依据,
分级调度
关于不同级别调度的说明: 在传统多道批处理系统中,只有作 业调度和进程调度; 在现代操作系统中,作业调度的概 念简化或取消;进程的临时输入输出 数据通常存在内存缓冲区,或由交换 调度暂存外存中,井的概念弱化。
调度算法设计原则
选择调度算法的原则 资源利用率:利用率=有效工作时间 /总运行时间。 响应时间:交互式进程的响应时间 尽可能短;实时任务的处理更要及时 满足要求。
实时调度方法
实时系统调度算法 1)单比率调度算法 规定:运行频率越高的进程其优先
就数越高。 调度时总是选中优先数最高的就绪
进程,并采取剥夺式分配策略。 可以证明该算法是最优的。
实时调度方法
实时系统调度算法 2)限期调度算法 基本思想:进程就绪队列按截止期
限排序。对于一个周期性事件,其截 止期限即为事件下一次发生的时间。
120
8:00
10:00
120
P2
8:50
50
10:00
10:50
120
P3
9:00
10
10:50
11:00
120
P4
9:50
20
11:00
11:20
90
平均周转时间 T = 112.5
450
最短作业优先算法(SJF)--计算结果
8:00
P1 120
进入时间
P3 P4 P2
10 20 50 10:00 10:10 10:30
相关文档
最新文档