操作系统 chapter3 处理机调度与死锁PPT课件

合集下载

第三章处理机调度和死锁PPT资料179页

第三章处理机调度和死锁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课件

第三章 处理机调度与死锁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.同时具有三级调度的调度队列模型
作业调度
时间片完

计算机操作系统第三章处理机调度与死锁 ppt课件

计算机操作系统第三章处理机调度与死锁  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课件

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课件

处理机调度与死锁ppt课件
第三章 处置机调度与死锁
3.1 处置机调度的层次 3.2 调度队列模型和调度准那么 3.3 调度算法 3.4 实时调度 3.5 产生死锁的缘由和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
第三章 处理机调度与死锁
处置机调度与死锁(Scheduling and Deadlock )
教学目的: 在多道程序系统中,一个作业从提交到执行完
第三章 处理机调度与死锁
2) 抢占方式(Preemptive Mode)
这种调度方式允许调度程序根据某种原那么去暂停某个 正在执行的进程,将已分配给该进程的处置机重新分配给另 一进程。抢占方式的优点是,可以防止一个出息程长时间占 用途置机,能为大多数进程提供更公平的效力,特别是能满 足对呼应时间有着较严厉要求的实时义务的需求。但抢占方 式比非抢占方式调度所需付出的开销较大。抢占调度方式是 基于一定原那么的,主要有如下几条:
第三章 处理机调度与死锁
2.进程调度中的三个根本机制
为了实现进程调度,应具有如下三个根本机制:
(1) 排队器。为了提高进程调度的效率,应事先将系统 中一切的就绪进程按照一定的方式排成一个或多个队列,以 便调度程序能最快地找到它。
(2) 分派器(分派程序)。分派器把由进程调度程序所选 定的进程,从就绪队列中取出该进程,然后进展上下文切换, 将处置机分配给它。
成,要阅历多级调度,调度的好坏要影响系统的运 转性能,因此调度是多道系统的关键。为了改善系 统资源的利用率和提高系统处置才干,多道程序系 统中采用多个进程的并发执行,但它也能够发生死 锁的危险,研讨死锁的缘由和产生条件,采用预防 死锁、防止死锁、检测死锁和解除死锁等多种方法 防止死锁是多道程序系统重要的研讨课题。
第三章 处理机调度与死锁

第三章 处理机调度与死锁.ppt

第三章 处理机调度与死锁.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课件

操作系统课程第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

第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章
给其抢它占进原程则,有决:不允许某进程抢占已 经分配优出先去权的原处则理;机。 优点:短实作现业简优单先,原系则统;开销小。 缺点:时难间于片满原足则紧。急任务的要求。
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课件

第三章 处理机调度和死锁(第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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。
相关文档
最新文档