第3章 处理机调度和死锁精品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)

《处理机调度与死锁》课件

《处理机调度与死锁》课件

04
死锁的检测与恢复
死锁的检测
资源分配图法
通过构建资源分配图,分析是否存在环路,以判断系统是否发生死锁。
银行家算法
模拟银行家对资源分配的策略,通过检查请求资源是否会导致不安全状态来判断 系统是否发生死锁。
死锁的恢复
资源剥夺法
剥夺已经分配给某个进程的资源,打破 死锁状态,使其中一个进程能够继续执 行。
详细描述
响应时间包括进程从提交到开始执行 的时间以及执行完成的时间。响应时 间的计算公式为:响应时间 = 开始执 行时间 - 提交时间。
周转时间
总结词
周转时间是指从进程到达系统到完成 所经过的时间。
详细描述
周转时间包括进程在等待队列中的等 待时间和在处理机上的执行时间。周 转时间的计算公式为:周转时间 = 完 成时间 - 到达时间。
处理机调度与死锁
目录
• 处理机调度算法 • 死锁 • 处理机调度的性能指标 • 死锁的检测与恢复
01
处理机调度算法
先来先服务(FCFS)
总结词
按照作业到达的先后顺序进行调度,优先处理最先到达的作 业。
详细描述
FCFS算法是一种最简单的调度算法,它不考虑作业的紧迫程 度和所需执行时间,只按照作业到达的顺序进行调度。当一 个作业到达时,系统将其加入到等待队列中,并按照到达顺 序依次处理等待队列中的作业。
避免死锁
通过破坏产生死锁的四个必要条件之一来防止死锁的产生。例如,通过预先分配策略,即 进程在开始执行前就申请所有需要的资源,如果不能获得所有资源则不启动该进程。
避免饥饿
通过设置优先级、时间片轮转等机制,保证所有进程都有机会获得资源,避免某些进程永 久等待。
检测与恢复

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

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

阻 塞, 挂 起队 列 事
件 出
挂起

阻 塞队 列
等 待事 件
图 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) 快速的任务分派能力。在完成任务调度后,便应 进行任务切换。为了提高分派程序进行任务切换时的速度, 应使系统中的每个运行功能单位适当的小,以减少任务切 换的时间开销。

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

当这些进程重又具备运行条件且内存又稍有空闲时,由 中级调度来决定把外存上的那些又具备运行条件的就绪进程 重新调入内存,并修改其状态为就绪状态,挂在就绪队列上 等待进程调度。
中级调度实际上就是存储器管理中的对换功能。
整理ppt15Fra bibliotek第三章 处理机调度与死锁
在上述三种调度中,
• 进程调度的运行频率最高,在分时系统中通常是10~100 ms便进行一次进程调度,因此把它称为短程调度。为避免进 程调度占用太多的CPU时间,进程调度算法不宜太复杂。
(2) 分派器(分派程序)。
(3)上下文切换机制。当对处理机进行切换时,会发生
两对上下文切换操作。在第一对上下文切换时,操作系统将
保存当前进程的上下文,而装入分派程序的上下文,以便分
派程序运行;在第二对上下文切换时,将移出分派程序,而
把新选进程的CPU现场信息装入到处理机的各个相应寄存器
中。
应当指出,上下文切换将花去不少的处理机时间,即使是现代计算
3.1.3 中级调度(Intermediate Level Scheduling) 又称中程调度(Medium-Term Scheduling)。 引入中级调度的主要目的是为了提高内存利用率和系统 吞吐量。
使那些暂时不能运行的进程不再占用宝贵的内存资源, 而将它们调至外存上去等待,把此时的进程状态称为就绪驻 外存状态或挂起状态。
作业调度或长程调度(LongTerm Scheduling)
1.作业和作业步
(1) 作业(Job)。作业不仅包含了通常的程序和数据,而且 还应配有一份作业说明书,系统根据该说明书来对程序的运 行进行控制。
在批处理系统中,是以作业为基本单位从外存调入内存的。
整理ppt

计算机操作系统第三章处理机调度与死锁 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调度过程(进程的上下文切换)

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

时间片完 就绪队列
阻塞队列
进程调度 进程完成
CPU
等待事件
2020/11/29
阜阳师范学院计算机与信息学院
12
2. 具有高级和低级调度的调度队列模型
作业调度
后备队列
时间片完 就绪队列
进程调度 进程完成
CPU
事件1出现 事件2出现 事件n出现
2020/11/29
等待事件1 等待事件2 等待事件n
阜阳师范学院计算机与信息学院
2020/11/29
阜阳师范学院计算机与信息学院
4
1. 高级调度
又称为作业调度、宏观调度或长程 调度。用于决定把后备队列中的哪些作 业调入内存,为他们分配必要的资源, 并创建进程。
批处理系统 : 需要作业调度 分时系统 : 不需作业调度 实时系统 : 不需作业调度
2020/11/29
阜阳师范学院计算机与信息学院
Run time 27 3 5
0
2020/11/29
P1
P2 P3
27 30 35
阜阳师范学院计算机与信息学院
17
FCFS(First Come First Serve)
FCFS实例 下表列出了A、B、C、D四个作业分别到达系 统的时间、要求服务的时间、开始执行的时间 及各自的完成时间,计算出各自的周转时间和 带权周转时间。阜阳师范学Fra bibliotek计算机与信息学院
8
3. 中级调度
中级调度又称为交换调度或中程调 度。
它按一定的算法将外存中已具备运行 条件的进程换入内存,而将内存中处于 阻塞状态的某些进程换出至外存。
2020/11/29
阜阳师范学院计算机与信息学院
9
运行
就绪


阻塞


进程调度

挂起阻塞
创建
挂起就绪
中级调度
作业调度
2020/11/29
阜阳师范学院计算机与信息学院
2
2020/11/29
阜阳师范学院计算机与信息学院
3
3.1.1 高级、中级和低级调度
经历下述三级调度:
1、高级调度(High Scheduling) 2、中级调度(Intermediate-Level
Scheduling) 3、低级调度(Low Level Scheduling)
1 100 100 199
1 1 100 1.99
19
FCFS(First Come First Serve)
FCFS的特点:
FCFS调度算法有利于CPU繁忙型的作业, 而不利于I/O繁忙型的作业(进程)
比较有利于长作业,而不利于短作业
2020/11/29
阜阳师范学院计算机与信息学院
20
2. 短作业(进程)优先调度算法
13
3. 同时具有三级调度的调度队列模型
作业调度
批量作业 后备队列
交互型作业
时间片完
就绪 队 列
进程调度
进程完 CPU 成
中级调度 就绪、挂起队列
事件出现 中级调度
阻 塞、挂 起 队 列
挂起 事件出现 挂起
2020/11/29
阻塞队列
等待事件
阜阳师范学院计算机与信息学院
14
3.1.3 选择调度方式和调度算法的若干准则
退出
3.1.2 调度队列模型
1. 仅有进程调度的调度队列模型 2. 具有高级和低级调度的调度队列模型 3. 同时具有三级调度的调度队列模型
2020/11/29
阜阳师范学院计算机与信息学院
11
1. 仅有进程调度的调度队列模型
在分时系统中就绪进程组织成FIFO队列 形式,按时间片轮转方式运行。
交互用户 事 件 出 现
2020/11/29
作业情 况
调度算法
作业名 到达时间 服务时间
完成时间
FCFS 周转时间
带权周转时间
完成时间
SJF 周转时间
带权周转时间
A B C D E 平均
01 2 3 4
43 5 2 4
4 7 12 14 18 4 6 10 11 14 9 1 2 2 5.5 3.5 2.8 4 9 18 6 13 4 8 16 3 9 8 1 2.67 3.2 1.5 2.25 2.1
2020/11/29
阜阳师范学院计算机与信息学院
18
FCFS(First Come First Serve)
作业名 到达时 服务时 开始执 完成时 周转时 带权周


行时间 间

转时间
A
0
B
1
C
2
D
3
2020/11/29
1
0
1
100
1
101
1
101
102
100
102
202
阜阳师范学院计算机与信息学院
3.2.1 FCFS与SJF/SPF调度算法 3.2.2 高优先权优先调度算法 3.2.3 基于时间片的轮转调度算法
2020/11/29
阜阳师范学院计算机与信息学院
16
3.2.1 FCFS与SJF/SPF调度算法
1. 先来先服务调度算 法(FCFS)
按进程申请CPU(就 绪)的次序
process P1 P2 P3
5
1. 高级调度
执行作业调度时,必须作出两个决定: 接纳多少作业——每次接纳多少作业进入
内存,取决于多道程序度,即允许多少个 作业同时在内存中运行。 接纳哪些作业——应接纳哪些作业从外存 调入内存,取决于所采用的调度算法。
2020/11/29
阜阳师范学院计算机与信息学院
6
2. 低级调度
通常也称为进程调度、微观调度或短程 调度。进程调度是最基本的一种调度,在三种 OS中都有。用于决定就绪队列中哪个进程应 先获得处理机,并将处理机分配给选中的进程。
第3章 处理机调度与死锁
3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 产生死锁的原因和必要条件 3.5 预防死锁的方法 3.6 死锁的检测与解除
2020/11/29
阜阳师范学院计算机与信息学院
1
3.1 处理机调度的基本概念
3.1.1 高级调度、中级调度、低级调度 3.1.2 调度队列模型 3.1.3 选择调度方式和调度算法的若干准则
面向用户的准则
✓ 周转时间短 • 平均周转时间T • 平均带权周转时间(W= T(周 转)/Ts(CPU执行))
✓ 响应时间快 ✓ 截止时间的保证 ✓ 优先权准则
面向系统的准则
✓ 系统吞吐量高 ✓ 处理机利用率好 ✓ 各类资源的平衡利用
2020/11/29
阜阳师范学院计算机与信息学院
15
3.2 调度算法
为实现进程调度,应具有如下三个基本机制:
✓ 排队器
✓ 分派器
✓ 上下文切换
2020/11/29
阜阳师范学院计算机与信息学院
7
2. 低级调度
进程调度可采用下述两种调度方式: 非抢占方式 抢占方式 抢占的原则有: (1)优先权原则 (2)短作业(进程)优先原则 (3)时间片原则
2020/11/29
相关文档
最新文档