计算机操作系统(第二版)课件:进程调度基本概念
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.5 进程调度
3.5.1 进程调度的基本概念
1.并发技术回顾
多个进程在一个CPU上交替执行,提高了资源利用率和系统吞吐量
问题:CPU从运行进 程1到运行进程2 ,系 统要做哪些工作?
进程1 进程2
CPU时间
进程1
CPU
mov ax, [30] mov bx, [50] add ax, bx ……
与运行的进程——调度
next = PickNext(ReadyQueue);
switch(current,next);
切换进程上下文:即保存前一 个进程的CPU现场信息,恢复 下一个运行进程的现场信息—
—分派
当系统中作业或进程申请资源的 数量超出资源本身的配置情况时 ,系统需要确定优先将有限的资 源分配给哪个或哪些作业或进程
系统设计目标
批处理系统;交互式系统;实时系统;网络系统
调度的公平性 资源的均衡利用
各类资源的均衡利用;多个同类资源的均衡利用
合理的系统开销
调度开销:运行调度算法的开销,上下文切换开销
需要考虑哪些 因素?
3.5 进程调度
3.5.1 进程调度的基本概念
7.调度性能的评价指标:
有哪些调度性能 评价指标?
抢占式调度有哪 些抢占原则?
抢占原则:
时间片原则;优先权原则;剩余运行时间等。
抢占方式的实现机制:
(1)内核完全不可抢占;如winNT,传统unix
(2)内核部分可抢占:如unix SVR4,linux;
(3)内核完全可抢占:如solaris、win2000.
3.5 进程调度
3.5.1 进程调度的基本概念
进程调度
进程调度的基本概念 进程调度算法
Linux/openEuler调度算法解析
3.5 进程调度
3.5.1 进程调度的基本概念
说明高级调度要完成的功能及设计时要考虑的因素 说明低级调度要完成的功能及设计时要考虑的因素 说明中级调度要完成的功能及设计时要考虑的因素 分析说明进程调度的两种方式的含义、性能特点、适用场景 分析说明进程调度时机 分析说明选择进程调度方式及调度算法应考虑的因素 分析说明调度性能的评价指标 讨论分析设计调度方式与算法时存在的若干矛盾问题
3.5 进程调度
3.5.1 进程调度的基本概念
3. 调度的层次
低级调度:又称进程调度
进程 调度 就绪队列
内存
什么是低级调度? 需要完成哪些工作 ?低级调度要考虑 哪些问题?
CPU
考虑的问题:
➢ 调度标准:进程调度算法 ➢ 调度时机:什么时候调度
3.5 进程调度
3.5.1 进程调度的基本概念
3. 调度的层次
3.5 进程调度
3.5.1 进程调度的基本概念
8.设计调度方式及算法时的矛盾问题:
响应时间短与公平性之间的矛盾
响应时间短 提高交互型任务的优先级 交互型任务总是优先调度 批处理任务长期得不到调度 不公平
响应时间短与吞吐量大之间的矛盾
响应时间短 缩小时间片,提高CPU调度的频率 CPU调度及切换开销大 降低了系统的吞吐量
使用——调度
高级调度,中级调度,低级调度
3.5 进程调度
3.5.1 进程调度的基本概念
3. 调度的层次
高级调度:又称作业调度或长程调度
什么是高级调度?需要 完成哪些工作?高级调 度要考虑哪些问题?
作业 调度
后备队列
就绪队列
外存
内存
考虑的问题:
➢ 接纳多少个作业:多道程序度 ➢ 接纳哪些作业:作业调度算法
其他矛盾……
如资源的均衡利用与保证截止时间或响应时间短等方面的矛盾
设计调度算法时必须综合考虑多个因素,不可能设计完美 的调度算法,只能根据系统的主要目标进行折衷权衡。这是设 计操作系统等复杂系统时的主要特点。
单选题 10分
在设计高级调度解决策略时,以下()问题不需要重点考虑。 A 一次调度多少个作业进入内容 B 内存容量大小 C CPU分配算法 D 选择哪些作业调入内存
提交
3.5.1 进程调度基本概念
本节知识小结
哪个小组来 总结下?
1. 调度的三个层次、分别要完成的功能及设计时要考 虑的因素
2. 进程调度的两种方式的含义、性能特点、适用场景 3. 进程调度时机 4. 选择进程调度方式及调度算法应考虑的因素 5. 调度性能的评价指标
中级调度:对换
什么是中级调度?需要 完成哪些工作?中级调 度要考虑哪些问题?
外存 文件区
外存 交换区
内存紧张时换出 内存宽松时换入
内存
引人中级调度的主要目的是为了提高内存利用率和系统吞吐量。
考虑的问题:
➢ 交换哪些进程 ➢ 什么时候交换
3.5 进程调度
3.5.1 进程调度的基本概念
3. 调度的层次
保证截止时间与公平性之间的矛盾
保证任务截止时间 基于优先级抢占调度 低优先级任务长期得不到调度 不公平
3.5 进程调度
3.5.1 进程调度的基本概念
8.设计调度算法时的矛盾问题:
保证截止时间与吞吐量大之间的矛盾
保证截止时间 基于优先级抢占调度 提高了CPU调度的频率 CPU调度及切换开销大 降低了系统的吞吐量
CPU利用率:40% ~90%
系统吞吐量:单位时间完成的任务数量
CPU利用率高 + 系统开销小
响应时间:交互式系统
什么是响应时间 ?
从用户提交一个请求开始,到系统首次对该请求产生响应为止
的时间间隔。
对截止时间的保证:实时系统
截止时间分为哪 两种?
3.5.1 进程调度的基本概念
7.调度性能的评价指标:
切换 CPU
进程3 进程1 进程2 进程3
进程2
mov ax, 100 mov bx, 50 add ax, bx ……
切换 CPU
进程3
mov ax, 200 mov bx, 50 add ax, bx ……
3.5 进程调度
3.5.1 进程调度的基本概念
2. 进程调度与分派
从所有就绪进程中,按一 定策略选择下一个即将参
提交
单选题 10分
在设计抢占式进程调动方式时,以下()不是合理的抢占原则。
A 时间片原则 B 优先级原则 C 短进程优先原则 D 设备需求数量原则
提交
单选题 10分 在设计进程调动方式及调动算法时,以下() 并不是需要重点考虑的因素。
A 调动的公平性 B 资源的利用率 C 用户的方便性 D 实时系统中对截止时间的保证
三级调度
作业调度
批作业 交互型作业
后备队列
事件 发生
就绪,挂起队列 阻塞,挂起队列
换 入
换出
外存
时间片到
进程调度
就绪队列
CPU
事
等
件
待
发
某
生
事
阻塞队列
件
内存
运行完成
3.5 进程调度
3.5.1 进程调度的基本概念
4. 进程调度方式
进程调度有哪两种方式?各 是什么含义?两种调度方式 的性能特点?
非抢占方式 抢占方式
5.可能的进程调度时机:
分时系统中时间片用完; 当前进程本身状态发生转换:
进程终止;进程等待 进程从系统调用中返回用户态; 系统从中断处理中返回用户态; 就绪队列中出现比当前进程优先级 更高的进程;
可能的进程调度 时机有哪些?
3.5 进程调度
3.5.1 进程调度的基本概念
6.选择进程调度方式及调度算法应考虑的因素:
周转时间/带权周转时间 周转时间:
平均周转时间:
带权周转时间
T
1 n
i i1
Ti
作业的周转时间T与系统为它提供服务的时间TS之比
作业名 需要执行时间
J1
10ms
J2
200s
周转时间 200s 300s
带权周转时间 200000 1.5
平均带权周转时间:
W
1 n
n i1
Ti TSi