操作系统 chapter3 处理机调度与死锁PPT课件
合集下载
第三章处理机调度和死锁PPT资料179页
进程调度的时机
进程调度的时机与引起进程调度的原因以及进程调度的方式有关。 引起进程调度的原因 (1)正在执行的进程执行完毕。 (2)执行中的进程提出I/O请求后被阻塞。 (3)执行某种原语操作,比如wait(s),block原语,wakeup原语。 (4)分时系统中,由于分配给该进程的时间片已经用完。 (5)执行中进程自己调用阻塞原语将自己阻塞起来。 (6)执行完系统程序后返回用户进程时,可看作系统进程执行完毕, 从而可以调度选择一个新的用户进程执行。 以上是在不可剥夺方式下的引起进程调度的原因,在CPU执行方式 是可剥夺时,还有一个原因。 (7)一个比正在运行进程的优先数更高的进程进入就绪队列,从而引 起调度。 在以上所列的几种原因之一发生的情况下,OS进行进程调度。
1、低级调度功能: (1)保存处理器的现场信息。 (2)按某种算法选取进程。 (3)把处理器分配给进程。
2、进程调度中的三个基本机制
排队器: 分派器(分派程序):
用来将CPU的控制交给由进程调度所选择的 进程。其功能包括:
(1)切换上下文 (2)切换到用户模式 (3)跳转到用户程序的合适位置以重新启动 这个程序。 上下文切换机制 第一对上下文切换:保存当前进程的上下文, 装入分派程序的上下文。 第二对上下文切换:移出分派程序的上下文, 装入新选进程的上下文。
2、面向系统的准则 (1)系统吞吐量高。 (2)处理机利用率好。 (3)各类资源的平衡利用。
§3.3 调度算法
在OS中调度的实质是一种资源分配, 因而调度算法是指:根据系统的资源分配策 略所规定的资源分配算法。
3.3.1先来先服务和短作业优先调度算法
既可用于进程调度, 也可用于作业调度
1、先来先服务调度算法(FCFS)
第三章 处理机调度与死锁PPT课件
第三章 处理机调度与死锁
3.1 处理机调度的层次 3.2 调度队列模型和调度准则 3.3 调度算法 3.4 实时调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
✓ 当一个进程运行完毕,或由于某种错误而终止运行 ✓ 当一个进程在运行中处于等待状态(等待I/O) ✓ 在进程通信中,执行中的进程执行了某种原语操作
(P操作,阻塞原语,唤醒原语) ✓ 分时系统中时间片到 ✓ 当有一个优先级更高的进程就绪
1) 非抢占方式(Non-preemptive Mode)
2) 抢占方式(Preemptive Mode)
2
3.1 处理机调度的层次
处理机三级调度
1.高级调度――作业调度
在批处理系统中,作业是先驻留在外存的输入井上 的,因此需要有作业调度。然而在分时系统中,通过键 盘输入的命令和数据直接进入内存,无需作业调度。 2.低级调度――进程调度
进程调度决定就绪队列中哪个进程将获得处理机, 然后由分派程序执行把处理机分配给该进程的操作。进 程调度是最基本的调度,任何操作系统都有进程调度。 3.中级调度——对换
作业 调度 后备队列
时间片完 就绪队列
进程调度 进程完成 CPU
事件1出现
等待事件1
事件2出现
等待事件2
… … … …
事件n出现
等待事件 n
具有高、低两级调度的调度队列模型
15
3.同时具有三级调度的调度队列模型
作业调度
时间片完
3.1 处理机调度的层次 3.2 调度队列模型和调度准则 3.3 调度算法 3.4 实时调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
✓ 当一个进程运行完毕,或由于某种错误而终止运行 ✓ 当一个进程在运行中处于等待状态(等待I/O) ✓ 在进程通信中,执行中的进程执行了某种原语操作
(P操作,阻塞原语,唤醒原语) ✓ 分时系统中时间片到 ✓ 当有一个优先级更高的进程就绪
1) 非抢占方式(Non-preemptive Mode)
2) 抢占方式(Preemptive Mode)
2
3.1 处理机调度的层次
处理机三级调度
1.高级调度――作业调度
在批处理系统中,作业是先驻留在外存的输入井上 的,因此需要有作业调度。然而在分时系统中,通过键 盘输入的命令和数据直接进入内存,无需作业调度。 2.低级调度――进程调度
进程调度决定就绪队列中哪个进程将获得处理机, 然后由分派程序执行把处理机分配给该进程的操作。进 程调度是最基本的调度,任何操作系统都有进程调度。 3.中级调度——对换
作业 调度 后备队列
时间片完 就绪队列
进程调度 进程完成 CPU
事件1出现
等待事件1
事件2出现
等待事件2
… … … …
事件n出现
等待事件 n
具有高、低两级调度的调度队列模型
15
3.同时具有三级调度的调度队列模型
作业调度
时间片完
计算机操作系统第三章处理机调度与死锁 ppt课件
2决定接纳哪些作业
选用何种调度算法:先来先服务、 短作业优先、基于作业优先级、响 应比高者优先。
PPT课件
6
注意
批处理系统中,作业是首先进入外存, 然后经由作业调度分批进入内存;
分时系统及实时系统中,由于对响应 时间有要求,因此用户输入的命令和数据 等是直接进入内存的,无须配置作业调度 机制。
PPT课件
PPT课件
14
同时具有三级调度的调度队列模型
作业 调度
后备队列
中级 调度
时间片完 就绪队列 就绪、挂起队列
进程调度
进程完成
CPU
挂起
事件出现
事件发生
阻塞、挂起队列 阻塞队列
挂起 等待事件
具有高、低、中三级调度的调度队列模型
PPT课件
15
选择调度方式和调度算法的若干准则
• 面向用户的准则
– 周转时间短(批处理) – 响应时间快(分时) – 截止时间保证(实时) – 优先权准则(all)
4
2 作业控制块
多道批处理系统中,为每个作业配备一个作业 控制块(JCB),它是作业在系统中存在的标志。
作业运行期间,系Biblioteka 按照JCB中的信息对作业进行 控制。
JCB中保存了系统对作业进行管理和调度所需 的全部信息。例如:作业标识、用户名称、用户帐 户、作业类型、作业状态、调度信息、资源需求、 进入系统时间、开始处理时间、作业完成时间、作 业退出时间、资源使用情况等。
第三章 处理机调度与死锁
要解决的三个问题:
WHAT:按什么原则分配CPU? —进程调度算法
WHEN:何时分配CPU? —进程调度的时机
HOW: 如何分配CPU? —CPU调度过程(进程的上下文切换)
Chapter3 处理机调度与死锁1PPT课件
2020/12/1
8
3.1.1 高级调度(High Level Scheduling)
在每次执行作业调度时,都须做出以下两个决定: 1) 接纳多少个作业:取决于多道程序度(Degree of MultiProgramming),即允许有多少个作业同时在内 存中运行。 2) 接纳哪些作业:取决于所采用的调度算法,如FCFS、 SJF等。
第三章
处理机调度与死锁
2020/12/1
回顾
1
进程的概念
2
进程控制
3 经典进程同步问题 4 进程通信
2020/12/1
2
主要内容
1 处理机调度的层次 2 调度队列模型和调度准则 3 调度算法 4 实时调度
2020/12/1
3
重点与难点
重点:
1 处理机调度算法 2 实时调度
难点:
1 FCFS、SJF、RR、HRN算法 2 EDF、LLF算法
执行的进程,将已经分配给该进程的处理机重新分
(1)优先权原则 (2)短作业(进程)优先原则 (3)时间片原则
2020/12/1
14
3.1.3 中级调度(Intermediate-Level Scheduling)
中级调度又称中程调度(Medium-Term Scheduling),按 一定的算法将外存中已具备运行条件的进程换入内存,而 将内存中处于阻塞状态的某些进程换出至外存。
图3.6 具有高、低两级调度的调度队列模型
2020/12/1
19
3)同时具有三级调度的调度队列模型
作 业调 度
时 间片 完
后 备队 列 批 量作 业
交 互型 作业
就 绪队 列
进 程调 度
处理机调度与死锁ppt课件
第三章 处置机调度与死锁
3.1 处置机调度的层次 3.2 调度队列模型和调度准那么 3.3 调度算法 3.4 实时调度 3.5 产生死锁的缘由和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
第三章 处理机调度与死锁
处置机调度与死锁(Scheduling and Deadlock )
教学目的: 在多道程序系统中,一个作业从提交到执行完
第三章 处理机调度与死锁
2) 抢占方式(Preemptive Mode)
这种调度方式允许调度程序根据某种原那么去暂停某个 正在执行的进程,将已分配给该进程的处置机重新分配给另 一进程。抢占方式的优点是,可以防止一个出息程长时间占 用途置机,能为大多数进程提供更公平的效力,特别是能满 足对呼应时间有着较严厉要求的实时义务的需求。但抢占方 式比非抢占方式调度所需付出的开销较大。抢占调度方式是 基于一定原那么的,主要有如下几条:
第三章 处理机调度与死锁
2.进程调度中的三个根本机制
为了实现进程调度,应具有如下三个根本机制:
(1) 排队器。为了提高进程调度的效率,应事先将系统 中一切的就绪进程按照一定的方式排成一个或多个队列,以 便调度程序能最快地找到它。
(2) 分派器(分派程序)。分派器把由进程调度程序所选 定的进程,从就绪队列中取出该进程,然后进展上下文切换, 将处置机分配给它。
成,要阅历多级调度,调度的好坏要影响系统的运 转性能,因此调度是多道系统的关键。为了改善系 统资源的利用率和提高系统处置才干,多道程序系 统中采用多个进程的并发执行,但它也能够发生死 锁的危险,研讨死锁的缘由和产生条件,采用预防 死锁、防止死锁、检测死锁和解除死锁等多种方法 防止死锁是多道程序系统重要的研讨课题。
第三章 处理机调度与死锁
3.1 处置机调度的层次 3.2 调度队列模型和调度准那么 3.3 调度算法 3.4 实时调度 3.5 产生死锁的缘由和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
第三章 处理机调度与死锁
处置机调度与死锁(Scheduling and Deadlock )
教学目的: 在多道程序系统中,一个作业从提交到执行完
第三章 处理机调度与死锁
2) 抢占方式(Preemptive Mode)
这种调度方式允许调度程序根据某种原那么去暂停某个 正在执行的进程,将已分配给该进程的处置机重新分配给另 一进程。抢占方式的优点是,可以防止一个出息程长时间占 用途置机,能为大多数进程提供更公平的效力,特别是能满 足对呼应时间有着较严厉要求的实时义务的需求。但抢占方 式比非抢占方式调度所需付出的开销较大。抢占调度方式是 基于一定原那么的,主要有如下几条:
第三章 处理机调度与死锁
2.进程调度中的三个根本机制
为了实现进程调度,应具有如下三个根本机制:
(1) 排队器。为了提高进程调度的效率,应事先将系统 中一切的就绪进程按照一定的方式排成一个或多个队列,以 便调度程序能最快地找到它。
(2) 分派器(分派程序)。分派器把由进程调度程序所选 定的进程,从就绪队列中取出该进程,然后进展上下文切换, 将处置机分配给它。
成,要阅历多级调度,调度的好坏要影响系统的运 转性能,因此调度是多道系统的关键。为了改善系 统资源的利用率和提高系统处置才干,多道程序系 统中采用多个进程的并发执行,但它也能够发生死 锁的危险,研讨死锁的缘由和产生条件,采用预防 死锁、防止死锁、检测死锁和解除死锁等多种方法 防止死锁是多道程序系统重要的研讨课题。
第三章 处理机调度与死锁
第三章 处理机调度与死锁.ppt
第三章 处理机调度与死锁
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 t
A (a) q= 1
B
A B
A
A
B
C
C
C
C
D
D
E
E
E
E
(b) q= 4
第三章 处理机调度与死锁
作业 情况
时间片
RR q=1
RR q=4
进程名 到达时间
A
B
C
0
1
2
服务时间
4
3
4
完成时间
15 12 16
第三章 处理机调度与死锁 3.1 处理机调度的层次和调度算法的目标 3.1.2 处理机算法的目标
①作业平均周转时间(T)
n
T=( Ti )× 1
i =1
n
②带权平均周转时间(W)
n
W=(
Ti )×
1
i = 1 ri
n
n为作业数目, 第i个作业的周转时 间 Ti = Ei– Si Ei:作业完成时间 Si:作业提交时间
2 进程调度机制 (1)排队器 (2)分派器 (3)上下文切换机制
3.3 进程调度
第三章 处理机调度与死锁
3 调度方式 (1)非抢占式
*引发进程调度的事件——执行完毕、进程阻塞、执行原语 *特点——实现简单、开销小、不能立即执行
(2)抢占式
*基本原则—优先权原则、短作业(进程)优先、时间片原则 *特点—开销大、公平、响应及时
第三章 处理机调度与死锁
3.3 进程调度 3.3.2 轮转调度算法(RR)
1 轮转法的基本原理
按FCFS将就绪进程排成一个就绪队列,进程按时间片轮 流使用CPU。
操作系统课程第3章处理机调度ppt课件
A、后备
B、阻塞
C、执行
D、完成
2024/7/3
Page 17
为了规范事业单位聘用关系,建立和 完善适 应社会 主义市 场经济 体制的 事业单 位工作 人员聘 用制度 ,保障 用人单 位和职 工的合 法权益
3.1处理机调度的基本概念
高级、中级和低级调度
进程调度的任务
确定算法的原则 进程调度方式 调度队列模型 选择调度方式和调度算法的若干准则
缺点:紧急任务不 能及时响应;短进 程到达要等待长进
程运行结束
2024/7/3
Page 24
为了规范事业单位聘用关系,建立和 完善适 应社会 主义市 场经济 体制的 事业单 位工作 人员聘 用制度 ,保障 用人单 位和职 工的合 法权益
进程调度方式
抢占方式
抢占式调度主要有以下原则 ✓ 优先权原则 允许高优先权的新到进程抢 占当前进程的处理机 ✓ 短 的新作到业进(进程程抢)优占优求先当点严原前格:则的适进允实于程时时许的系间执处统要行理时机间短 ✓ 时间片原则 时缺间点片:用调完度后算停法复止执行,重 新进行调度,适杂用,于系分统时开系销统大
回该作业所占用的全部资源, 撤消与该作业相关的全部进程 和该作业的JCB。
2024/7/3
Page 11
为了规范事业单位聘用关系,建立和 完善适 应社会 主义市 场经济 体制的 事业单 位工作 人员聘 用制度 ,保障 用人单 位和职 工的合 法权益
周转时间:从作业被提交给系统开始,到作业完成为 止高的级这、段中时级间和间低隔级。调度
2024/7/3
Page 4
作业调度
作业是用户在一次解题或一个事务处理过程 中要求计算机系统所做工作的集合,包括用 户程序、所需的数据及命令等
第3章处理机调度与死锁132页PPT
作为系统管理者希望作业平均周转时间最短,有利于大多数
用户 可把平均周转时间描述为:T
1 n
n
Ti i1
作业的周转时间T与系统为它提供服务的时间TS之比,即
W=T/TS,称为带权周转时间,而平均带权周转时间则可表
示为:
W
1 n
n i1
Ti TSi
2020/5/8
12
3调度基本准则
目的
是为了进一步提高主存的利用率和系统的吞吐量。管理 进程在内外存间的交换,从存储器资源管理的角度来看, 把进程的部分或全部换出到外存上,可为当前运行进程 的执行提供所需内存空间。
2020/5/8
4
三种调度中,进程调度运行频率最高,在分 时系统中通常是10~100ms便进行一次进程 调度,因而进程调度算法不能太复杂。 作业调度往往是发生在一个(批)作业运行 完毕,退出系统,而需要重新调入一个(批) 作业进入时,帮作业调度的周期较长,大约 几分钟一次。 中级调度的运行频率,介于上述两种调度之 间
2020/5/8
3
中级调度
系统将那些暂时不能运行的进程从主存调到外存(仍然 保持进程状态)上的特定区域,这些在外存存放的进程 所处的状态称为就绪驻外状态或挂起状态。当这些进程 的运行条件具备,且主存又有空闲时,在中级调度的控 制下,再将处于外存上的那些重新具备运行条件的就绪 驻外进程调入主存,并将其状态修改为就绪状态,放入 就绪队列,等待进程调度。
① 就绪队列的形式:在批处理系统中,最常用的是最高优 先权调度算法,相应的最常用的就绪队列形式是优先权 队列。(仅有进程调度的模型就绪队列采用FIFO队列形 式)
② 设置多个阻塞队列。
2020/5/8
8
调度队列模型
操作系统第3章
给其抢它占进原程则,有决:不允许某进程抢占已 经分配优出先去权的原处则理;机。 优点:短实作现业简优单先,原系则统;开销小。 缺点:时难间于片满原足则紧。急任务的要求。
3.1 处理机调度的基本概念
3. 中级调度
挂起和激活,存储器管理中的对换功能。
主要目的: 为了提高内存的利用率和系统的吞吐量。
三种调度相比较:
● 高级调度的相关概念
作业:用户一次请求计算机系统为其完成任务所做工作 的总和。它通常包括程序、数据和作业说明书,系统根 据说明书对程序进行控制。 作业步:指每个作业在运行期间,都必须经过若干个相 对独立,又相互关联的顺序加工步骤,其中的每一个加 工步骤称为作业步。一个典型的作业可分成三个作业 步:① “编译”作业步,② “连结装配”作业步,③ “运行”作业步 作业状态:作业状态分为后备、运行和完成三种状态。 作业控制块(Job Control Block,JCB)
调度方式
3.1.3 选择调度方式和调度算法的若干准则 2. 面向系统的准则吞吐量:单位时间内系统所
完成的作业数
(1)系统吞吐量高
调度方式和算法对处理机的
(2)处理机利用率好 利用率起着十分重要的作用
(3)各类资源的均衡利 用
对于单用户微机或某些实 时系统,该准则并不重要
3.2 调度算法
3.2.1 先来先服务调度算法
进程插入到就决定: ●接纳多少个作业——取决于多道程序度 ●接纳哪些作业——取决于调度算法
▲内存中同时运行的 作业数目太多,会影 响系统的服务质量。 如,周转时间长。
▲内存中同时运行的 作业数目太少,会导 致系统资源利用率和 系统吞吐量低。
3.1.1 高级、中级和低级调度
算,而很少请求I/O。如,科学计算
3.1 处理机调度的基本概念
3. 中级调度
挂起和激活,存储器管理中的对换功能。
主要目的: 为了提高内存的利用率和系统的吞吐量。
三种调度相比较:
● 高级调度的相关概念
作业:用户一次请求计算机系统为其完成任务所做工作 的总和。它通常包括程序、数据和作业说明书,系统根 据说明书对程序进行控制。 作业步:指每个作业在运行期间,都必须经过若干个相 对独立,又相互关联的顺序加工步骤,其中的每一个加 工步骤称为作业步。一个典型的作业可分成三个作业 步:① “编译”作业步,② “连结装配”作业步,③ “运行”作业步 作业状态:作业状态分为后备、运行和完成三种状态。 作业控制块(Job Control Block,JCB)
调度方式
3.1.3 选择调度方式和调度算法的若干准则 2. 面向系统的准则吞吐量:单位时间内系统所
完成的作业数
(1)系统吞吐量高
调度方式和算法对处理机的
(2)处理机利用率好 利用率起着十分重要的作用
(3)各类资源的均衡利 用
对于单用户微机或某些实 时系统,该准则并不重要
3.2 调度算法
3.2.1 先来先服务调度算法
进程插入到就决定: ●接纳多少个作业——取决于多道程序度 ●接纳哪些作业——取决于调度算法
▲内存中同时运行的 作业数目太多,会影 响系统的服务质量。 如,周转时间长。
▲内存中同时运行的 作业数目太少,会导 致系统资源利用率和 系统吞吐量低。
3.1.1 高级、中级和低级调度
算,而很少请求I/O。如,科学计算
第三章 处理机调度和死锁(第101112讲)PPT课件
阜阳师范学院计算机与信息学院
15
3.2 调度算法
3.2.1 FCFS与SJF/SPF调度算法 3.2.2 高优先权优先调度算法 3.2.3 基于时间片的轮转调度算法
01.12.2020
阜阳师范学院计算机与信息学院
16
3.2.1 FCFS与SJF/SPF调度算法
1. 先来先服务调度算 process
中级调度
作业调度
退出
3.1.2 调度队列模型
1. 仅有进程调度的调度队列模型 2. 具有高级和低级调度的调度队列模型 3. 同时具有三级调度的调度队列模型
01.12.2020
阜阳师范学院计算机与信息学院
11
1. 仅有进程调度的调度队列模型
在分时系统中就绪进程组织成FIFO队 列形式,按时间片轮转方式运行。
20
2. 短作业(进程)优先调度算法
作业情 况
调度算法
FCFS
SJF
作业名 到达时间 服务时间 完成时间 周转时间 带权周转时间 完成时间 周转时间 带权周转时间
AB 01 43
47 46 12 49 48 1 2.67
CD E 23 4 52 4 12 14 18 10 11 14 2 5.5 3.5 18 6 13 16 3 9 3.2 1.5 2.25
01.12.2020
阜阳师范学院计算机与信息学院
4
1. 高级调度
又称为作业调度、宏观调度或长 程调度。用于决定把后备队列中的哪 些作业调入内存,为他们分配必要的 资源,并创建进程。
批处理系统 : 需要作业调度 分时系统 : 不需作业调度 实时系统 : 不需作业调度
01.12.2020
阜阳师范学院计算机与信息学院
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
阻 塞, 挂 起队 列 事
件 出
挂起
现
阻 塞队 列
等 待事 件
图 3-3 具有三级调度时的调度队列模型
3.3 调 度 算 法
3.3.1 先来先服务和短作业(进程)优先调度算法
1. 先来先服务调度算法
图 3-4 FCFS和SJF调度算法的性能
就 绪 队 列1 就 绪 队 列2 就 绪 队 列3 就 绪 队 列n
② 执行中的进程因提出I/O请求而暂停执行; ③ 在进程通信或同步过程中执行了某种原语操作,如P 操作(wait操作)、Block原语、Wakeup原语等。 优点:实现简单、系统开销小。
缺点:难以满足紧急任务的要求——立即执行,实时系统中 不宜采用这种调度方式。
2、抢占方式(Preemptive Mode) 抢占的原则有: • 优先权原则。 (2) 短作业(进程)优先原则。 (3) 时间片原则。 优点:防止长进程长时间占用处理机,适合实时任务 缺点:系统开销大
第三章 处理机调度与死锁
3.1 处理机调度的层次 3.2 调度队列模型和调度准则 3.3 调度算法 3.4 实时调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
1、非抢占方式(Non-preemptive Mode) 引起进程调度的因素可归结为这样几个:
① 正在执行的进程执行完毕,或因发生某事件而不能再 继续执行;
4. 具有快速切换机制
该机制应具有如下两方面的能力:
(1) 对外部中断的快速响应能力。为使在紧迫的外部 事件请求中断时系统能及时响应,要求系统具有快速硬件 中断机构,还应使禁止中断的时间间隔尽量短,以免耽误 时机(其它紧迫任务)。
(2) 快速的任务分派能力。在完成任务调度后,便应 进行任务切换。为了提高分派程序进行任务切换时的速度, 应使系统中的每个运行功能单位适当的小,以减少任务切 换的时间开销。
S1
至 CPU
S2
至 CPU
S3
至 CPU
至 CPU
(时 间 片 :S1<S2<S3) 图 3-5 多级反馈队列调度算法
3.4 实 时 调 度
3.4.1 实现实时调度的基本条件
1. 提供必要的信息 • 就绪时间。 (2) 开始截止时间和完成截止时间。 (3) 处理时间。 (4) 资源要求。 (5) 优先级。
2. 系统处理能力强
假定系统中有m个周期性的硬实时任务,它们的处理时
间可表示为Ci,周期时间表示为Pi,则在单处理机情况下,
必须满足下面的限制条件:
m Ci 1 i 1 Pi
提高系统的处理能力的方法:
1)单处理机系统,增强其处理能力,以显著地减少对每 一个任务的处理时间;
2)采用多处理机系统。假定系统中的处理机数为N,则
3.4.2 实时调度算法的分类
1. 非抢占式调度算法:非抢占式轮转调度算法。 非抢占式优先调度算法。
2. 抢占式调度算法 :
• 基于时钟中断的抢占式优先权调度算法。 • 立即抢占(Immediate Preemption)的优先权调度算法。
3.4.3 常用的几种实时调度算法
1. 最早截止时间优先即EDF(Earliest Deadline First)算法
A1 A2 A3 A4 A5 A6 A7 A8
t 0 20 40 60 80 100 120 140 160
B1
B2
B3
图 3-11 A和B任务每次必须完成的时间
A 1(10)
A 2(10) A 3(10)
t1
t2
0 10 20 t1=0
B 1(20)
t3
t4 t5
t6
30 40 50 60
B 1(5)
3.2.1 调度队列模型
1. 仅有进程调度的调度队列模型
交互用户
事 件 出 现
时间片完 就绪 队列 阻塞 队 列
进程调度
进程完成
CPU
等待事件
图 3 - 1 仅具有进程调度的调度队列模型
2. 具有高级和低级调度的调度队列模型
作业 调度
后 备队 列
时间片完 就绪 队 列
进程调度
进程完成 CPU
事件1出现
等待事件1
事件2出现
等待事件2
… … … …
事件n出现
等待事件n
图 3-2 具有高、低两级调度的调度队列模型
3. 同时具有三级调度的调度队列模型
作 业调 度
时 间片 完
后 备队 列 批 量作 业
交 互型 作业
就 绪队 列
进 程调 度 CPU
中 级调 度 就 绪, 挂 起队 列
事 件出 现
进 程完 成
B 2(15)
图 3-12 利用ELLF算法进行调度的情况
A 4(10)
t7
t8
t
70 80
B 2(10)
3.5 产生死锁的原因和必要条件
3.5.1 产生死锁的原因
1. 竞争资源引起进程死锁
应将上述的限制条件改为: m Ci N P i1 i
3. 采用抢占式调度机制
当一个优先权更高的任务到达时,允许将当前任务暂时挂 起,而令高优先权任务立即投入运行,这样便可满足该硬实时 任务对截止时间的要求。但这种调度机制比较复杂。
对于一些小的实时系统,如果能预知任务的开始截止时间, 则对实时任务的调度可采用非抢占调度机制,以简化调度程序 和对任务调度时所花费的系统开销。但在设计这种调度机制时, 应使所有的实时任务都比较小,并在执行完关键性程序和临界 区后,能及时地将自己阻塞起来,以便释放出处理机, 供调 度程序去调度那种开始截止时间即将到达的任务。
开始截止时间
1
3
4
2
任务执行
1
3
4
2
t
任务到达
1
23
4
图 3-9 EDF算法用于非抢占调度方式
2. 最低松弛度优先即LLF(Least Laxity First)算法
根据任务紧急(或松弛)的程度,来确定任务的优先级。
例如,一个任务在200ms时刻必须完成,所需的运行时间 100ms,因此,调度程序必须在100 ms之前调度执行,该任务 的紧急程度(松弛程度)为100 ms。又如,另一任务在400 ms时 刻必须完成,需要运行 150 ms,则其松弛程度为 250 ms。
系统中有一个按松弛度排序的实时任务就绪队列,松弛 度最低的任务排在队列最前于可抢占调度方式中。假 如在一个实时系统中,有两个周期性实时任务A和B,任务A 要求每 20 ms执行一次,执行时间为 10 ms;任务B只要求每 50 ms执行一次,执行时间为 25 ms。