操作系统考研资料:第四章 处理机调度学习指导材料
操作系统 第四章 处理机调度

4.1 分级调度
操作系统中一个程序运行相关的概念: ★操作系统中一个程序运行相关的概念:作 业、进程、线程。它们是程序在计算机中 进程、线程。 不同运行阶段的不同体现, 不同运行阶段的不同体现,为此应该有不 同的调度程序。 同的调度程序。
程序的各种状态及相应的调度方式
★提交状态:一个作业从输入设备进入外存的过程叫做 提交状态:一个作业从输入设备进入外存的过程叫做 输入设备进入外存 提交状态,这时的作业不能被调度 不能被调度。 提交状态,这时的作业不能被调度。 ★后备状态:当一个作业的全部都已经进入了输入井, 后备状态:当一个作业的全部都已经进入了输入井, 输入井 未运行之前叫做后备状态 收容状态)。 叫做后备状态( 未运行之前叫做后备状态(收容状态)。 ★运行状态:作业调度程序从后备作业中选择一个作业 运行状态: 内存运行,并为它创建进程 分配资源。 创建进程和 到内存运行,并为它创建进程和分配资源。这些被选 中的作业处于执行状态, 中的作业处于执行状态,执行状态的作业并不一定占 用处理机,哪个进程占用处理机由进程调度程序决定。 用处理机,哪个进程占用处理机由进程调度程序决定。 这个状态中还包括:就绪状态、执行状态和等待状态。 这个状态中还包括:就绪状态、执行状态和等待状态。 ★完成状态:当作业运行完毕后,它所占用的资源并未 完成状态:当作业运行完毕后, 全部释放。 全部释放。
作业调度程序的处理流程
4.2.2 作业调度算法的目标和性能衡量
调度目标: ★调度目标: 1)对所有的作业应该是公平合理的。 )对所有的作业应该是公平合理的。 2)应使设备有较高的利用率。 )应使设备有较高的利用率。 3)单位时间内执行尽可能多的作业。 )单位时间内执行尽可能多的作业。 4)有快的响应时间。 )有快的响应时间。 ★由于这些目标的相互冲突,任一调度算法要想同时 由于这些目标的相互冲突, 满足上述目标是不可能的。 满足上述目标是不可能的。
操作系统学习资料-第四章 处理机调度

提交 状态
收容 状态
输入管理系统
外存 就绪
等待
就绪 等待
进程调度 内存 执行 作业调度
第3级:进程调度、 微观调度、低级调 度
选取一个处于就绪 交换调度 状态的进程占用处
完成
理机,之后,进行
状态
上下文切换以便建
线程调度 立与占用处理机进
程相适应的执行环
境。
4.1 分级调度
2 调度的层次
提交 状态
收容 状态
作业的当前状态
处于后备状态时,可被调度
4.2 作业调度
1 作业调度的功能
(1)记录系统中各作业的状况 (2)从后备队列中选择一部分作业投入 运行(涉及调度算法) (3)为被选中的作业做好执行前的准备 (建立进程、为进程们分配系统资源) (4)作业执行结束时的后处理
4.2 作业调度
2 作业调度中状态的转换
忙的作业。
4.4 调度算法(重点)
2 短作业优先 (SJF, Shortest Job First) 对FCFS算法进行了改进,其目标是减少平 均周转时间。
(1) 算法思想 对预计执行时间短的作业(进程)优先
分派处理机。通常后来的短作业不抢先正 在执行的作业
4.4 调度算法(重点)
2 短作业优先 (SJF, Shortest Job First) (2) 优点 ① 比FCFS改善平均周转时间和平均带权 周转时间,缩短作业的等待时间; ② 提高系统的吞吐量。
1)周转时间Ti=作业完成时刻(Tei)-作业
提交时刻(Tsi) =作业等待时间(Twi)+作业
执行时间(Tri)
2)平均周转时间
T
1 n
n
Ti
i 1
计算机操作系统 第四章 处理机调度

实时调度方法
实时系统调度算法 1)单比率调度算法 规定:运行频率越高的进程其优先
就数越高。 调度时总是选中优先数最高的就绪
进程,并采取剥夺式分配策略。 可以证明该算法是最优的。
实时调度方法
实时系统调度算法 2)限期调度算法 基本思想:进程就绪队列按截止期
限排序。对于一个周期性事件,其截 止期限即为事件下一次发生的时间。
选估计计算时间最短的作业投入运行。 这是一种非剥夺式算法,用户提交作
业的同时给出估计计算时间。 这个算法显然有利于短作业。
调度算法
最短作业优先SJF(Shortest Job First ) 主要不足:
1)估计计算时间难以精确; 2)长作业可能会出现饥饿现象;
该算法仅适用于作业调度。
调度算法
最高响应比(HRRF,Highest Response Ratio First)算
先来先服务(FCFS) 在实际操作系统中,尽管很少单独使
用FCFS算法,但和其他一些算法配合 起来,FCFS算法在os中均有实现。
例如: 基于优先级的算法中对于相同 优先级的作业即采用FCFS方式。
调度算法
最短作业优先SJF(Shortest Job First ) 算法以作业的估计计算时间为依据,
法
响应比定义:响应比的计算公式与?差不多?
响应比=作业等待时间/作业计算时间
每当调度时,先计算每个作业的响应比值, 选择响应比最高者运行。
该算法属于非剥夺式算法。
调度算法
最高响应比算法 该算法既考虑作业等待时间,又考虑作业
的计算时间。同等条件优待短作业,同时又 不使长作业的等待时间过长,改进了调度性 能。
120
8:00
10:00
操作系统-第四章处理机调度

研究如何通过调度策略降低系统能耗,实现绿色计算和节能减排。
人工智能和机器学习在调度中的应用
利用人工智能和机器学习的技术,实现智能化的调度决策,提高系统 的自适应性和鲁棒性。
THANKS
感谢观看
03
先来先服务调度算法
算法描述
按照作业到达的先后顺序进行调度, 优先级从高到低依次为先来先服务。
当处理机空闲时,该算法将按照等待 队列的顺序依次取出作业进行处理。
当一个作业等待时,该算法将按照到 达的顺序依次将作业放入等待队列中。
算法优缺点
优点
实现简单,公平性较好,适合用 于批处理系统。
缺点
效率较低,因为短作业等待长作 业完成,可能导致资源利用率不 高。
• 动态调度:在这种调度算法中,进程的优先级可能会随着系统状态的变化而改 变。常见的动态调度算法有最短剩余时间优先(SRTF)、最高响应比优先 (HRRN)和时间片轮转(RR)。
02
进程调度的基本概念
进程调度的概念
进程调度
进程调度的基本单位
操作系统根据一定的调度算法,将处 理机分配给进程,以实现进程的执行。
• 适用于不同性质进程:优先级调度算法可以适用于不同性 质和需求的进程,根据其重要性和紧迫程度进行调度。
算法优缺点与适用场景
可能导致饥饿
如果系统中存在大量高优先级的进程,低优先级的进程可能会长时间得不到执行,导致饥饿问题。
不利于系统资源的均衡利用
高优先级的进程可能会长时间占用处理机,导致其他进程等待时间过长,不利于系统资源的均衡利用 。
时间片,即分配给进程的执行时间长 度。
进程调度的目标
提高处理机的利用率,减少等待时间, 实现公平合理的资源分配。
操作系统第四章49页PPT文档

抢占方式 把处理器分配给某个进程后,在该进程尚未终止 或阻塞时,允许系统调度程序根据某种原则,暂 停正在执行的进程,回收已经分配的处理器,并 将处理器重新分配给其它更为紧急的进程。
4. 线程调度
作业与进程的关系
作业是用户向计算机提交任务的任务实体。一 个作业是指在一次应用业务处理过程中,从输 入开始到输出结束,用户要求计算机所做的有 关该次业务处理的全部工作。进程则是计算机 为了完成用户任务实体而设置的执行,是系统 分配资源的基本单位。一个作业总是由一个或 多个进程组成的。作业分解为进程的过程是: 系统首先为一个作业创建一个根进程。然后, 在执行作业控制语句时,根据任务要求,系统 或根进程为其创建相应的子进程。最后,进行 进程调度,为各子进程分配资源和调度各子进 程执行,以完成作业要求的工作。
调度的层次
2. 交换调度:
3.
又称中级调度。其主要任务是按照给
定的原则和策略,将处于外存交换区中的
就绪状态或等待状态的进程调入内存,或
把处于内存就绪状态或内存等待状态的进
程交换到外存交换区。
调度的层次
3.进程调度 进程调度又称为低级调度或微观调度。其主要任务是按 照某种策略和算法,将处理机分配给一个处于就绪状态 的进程。进程调度可分为下列两种方式:
提交状态 后备态 运行态 完成
进入系统的时间开始执行时间已运行时间内存 地址外设台数
作业的优先级
作业调度的功能
2.从后备队列中挑选出一部分作业投入执行。作业调度程 序根据选定的调度算法,从后备作业队列中挑选出若干 作业去投入执行。
3.为被选中作业做好执行前的准备工作。作业调度程序为 选中的作业建立相应的进程,并为这些进程分配它们所 需要的系统资源,如分配给它们内存、外存、外设等。
操作系统--处理机调度

2. 带权周转时间 作业的周转时间包含了两个部分,即等待时间和 执行时间。为了更进一步反映调度性能,使用带权 周转时间的概念。带权周转时间是作业周转时间与 作业执行时间的比: Wi=Ti/Tri 对于被测定作业流所含有的几个作业来说,其平 均带权周转时间为: n 对于分时系统,除了要保证系统吞吐量大、资源 利用率高之外,还应保证有用户能够容忍的响应时 间。因此,在分时系统中,仅仅用周转时间或带权 周转时间来衡量调度性能是不够的。
25
(3)进行进程上下文切换
一个进程的执行是在进程的上下文中执行。当正在
执行的进程由于某种原因要让出处理机时,系统要做进
(要求输入/输出量大,也称为I/O-约束型,即作业花
费在输入/出操作上的时间比花费在计算上的时间多), 或图形设计型(要求高速图形显示)等。作业调度时应 该精选要调度的作业,即混有 I/O-约束的作业和 CPU约束的作业。
15
资源要求则包括: 该作业估计执行时间、要求最迟完成时间、要 求的内存量和外存量、要求的外设类型及台数以 及要求的软件支持工具库函数等。资源要求均由 用户提供。 资源使用情况包括: 作业进入系统时间、开始执行时间、已执行 时间、内存地址、外设台数等。 优先级: 用来决定该作业的调度次序。优先级既可以 由用户给定,也可以由系统动态计算产生。 状态: 是指该作业当前所处的状态。显然,只有当 作业处于后备状态时,该作业才可以被调度。
20
1. 周转时间:
作业i的周转时间Ti为 Ti=Tei-Tsi 其中Tei为作业i的完成时间,Tsi为作业的提交时 间。对于被测定作业流所含有的n(n>=1)个作业来 说,其平均周转时间为: 1 n T= Ti n i =1 一个作业的周转时间说明了该作业在系统内停留 的时间,包含两部分:等待时间;执行时间,即: Ti=Twi+Tri 这里,Twi主要指作业i由后备状态到执行状态的 等待时间,它不包括作业进入执行状态后的等待时 间。
04第四章 处理机调度

10
操作系统讲义
4.4 调度算法
先来先服务 时间片轮转算法 短作业优先 优先级算法 多级队列算法 多级反馈队列算法
11
操作系统讲义
1.先来先服务(FCFS)
调度的基本原则是按照作业到达系统或进程进入就绪队列的 先后次序来选择作业或进程;
注:FCFS很少用作主要的调度策略,但它常与其它调度算法 结合使用。
② 平均带权周转时间为:W = Wi /n
i 1
n
6
操作系统讲义
4.3 进程调度
1.进程调度的功能
记录系统中所有进程的执行情况。操作系统的进程管理模块
必须将系统中各进程的执行情况和运行状态记录在各进程的 PCB表中。
选择占有处理机的进程。进程管理模块按照一定的策略选择
一个处于就绪状态的进程,使其获得处理机执行。
例如:运算量大的作业和I/O量大的作业在一起运行,这样 可使各种资源得到充分利用。
1
操作系统讲义
4.1 4.2 4.3 4.4 4.5 4.6
分级调度 作业调度 进程调度 调度算法 算法评价 实时系统调度算法
2
操作系统讲义
4.1 分级调度
1. 作业状态及其转换图
就绪 外存 等待
交换调度
提交 状态
收容 状态
操作系统-第四章 处理机调度

4.2 作业调度
2 作业调度中状态的转换
否
后备作业
从中
审核
队列空? 选一作业 资源要求
是
资源要求 能满足?
分配 资源
建立 进程
进程 调度
否
放弃 该作业
从后备状态到执行状态
回收该作业 占用的资源
计算该作业 的执行费用
撤销该作业 进程及JCB
从执行状态到完成状态
调度 下一个作业
4.2 作业调度
3 作业调度目标与性能衡量
Activate
Ready
Release
Running
Exit
Timeout
Event Occurs
Event Occurs
Blocked Suspend
Activate
Blocked
微观调度
中级调度 宏观调度
多选题 1分
下列有关作业的叙述中,_________是正确的。
A 作业一旦被作业调度选中,即占有了CPU
(2) 定量衡量
① CPU利用率 ② 进程在队列中的等待时间与执行时间之比
单选题 1分
一个进程处于等待状态,则该进程所属的作业存在于( )中。
A 内存 B 外存 C 高速缓存 D 寄存器
提交
4.4 调度算法(重点)
1 先来先服务(FCFS) (2) 算法思想
① 按照作业或进程变为就绪状态的先后次序,分派CPU; ② 当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU
多选题 1分
一个作业从进入系统到运行结束,经历的状态包括_________。
A 进入状态 B 就绪状态 C 后备状态 D 运行状态 E 完成状态
提交
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章处理机调度与死锁
4.1 知识点汇总
1、处理机调度级别
⑴调度:选出待分派的作业或进程
⑵处理机调度:分配处理机
⑶三级调度:高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度)
2、作业状态
⑴作业状态分为四种:提交、后备、执行和完成。
⑵作业状态变迁图:
图4-1 作业状态及变迁
1
3、作业调度和调度的功能
⑴. 作业调度的任务
后备状态→执行状态执行状态→完成状态
⑵作业调度的功能
①记录系统中各个作业的情况
②按照某种调度算法从后备作业队列中挑选作业
③为选中的作业分配内存和外设等资源
④为选中的作业建立相应的进程
⑤作业结束后进行善后处理工作
4、进程调度和调度的功能
1). 进程调度:后备状态→执行状态
2). 进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志
3). 进程调度的功能:保存现场、挑选进程、恢复现场
5、两级调度模型作业调度和进程调度的区别
2
6、评价调度算法的指标
调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间
(1)吞吐量:单位时间内CPU完成作业的数量
(2)周转时间:
1) 周转时间=完成时刻-提交时刻
2) 平均周转时间=周转时间/n
3) 带权周转时间=周转时间/实际运行时间
4) 平均带权周转时间=带权周转时间/n
7、作业与进程调度算法
(1)先来先服务(FCFS)
调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。
用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。
用于
3
进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。
例如设有三个作业,编号为1,2,3。
各作业分别对应一个进程。
各作业依次到达,相差一个时间单位。
①图示出采用FCFS方式调度时这三个作业的执行顺序
②算出各作业的周转时间和带权周转时间
(2)时间片轮转(RR)
4
调度算法的实现思想:系统把所有就绪进程按先进先出的原则排成一个队列。
新来的进程加到就绪队列末尾。
每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。
当时间片到,产生时钟中断,调度程序便停止该进程的运行,并把它放入就绪队列末尾,然后,把CPU分给就绪队列的队首进程。
时间片:是一个小的时间单位,通常10~100ms数量级。
例如设四个进程A、B、C和D依次进入就绪队列(同时到达),四个进程分别需要运行12、5、3和6个时间单位。
①图示RR法时间片q=1和q=4示进程运行情况
②算出各进程的周转时间和带权周转时间
5
(3)优先级调度算法的实现思想:
从就绪队列中选出优先级最高的进程到CPU上运行。
给每个进程赋予一个优先级,带有最高优先级的进程最先执行。
又分为静态优先级和动态优先级。
动态优先级在不断地降低着处于运行态的进程的优先级,以防止优先级高的进程不断地执行。
1) 两种不同的处理方式:非抢占式优先级法、抢占式优先级法
2) 两种确定优先级的方式:静态优先级、动态优先级
例如假定在单CPU条件下有下列要执行的作业:
6
②算出各作业的周转时间和带权周转时间
7
(4)短作业优先SJF
占用CPU时间最短的进程先运行。
事先要估计程序运行的时间
(5)最短剩余时间优先
剩余运行时间最短的进程最先运行。
也要事先估计程序运行的时间
(6)最高响应比优先HRN
响应比最高的进程最先执行。
响应比=1+等待时间/估计运行时间。
该算法结合了FCFS 和SJF算法。
(7)多级反馈法(多重队列法)
不同进程的时间片不同;进程采用动态优先级;优先级与时间片结合在一起,优先级越高,时间片越短。
8。