2014操作系统第4章ppt课件

上传人:我*** 文档编号:148048079 上传时间:2020-10-15 格式:PPT 页数:37 大小:237KB
返回 下载 相关 举报
2014操作系统第4章ppt课件_第1页
第1页 / 共37页
2014操作系统第4章ppt课件_第2页
第2页 / 共37页
2014操作系统第4章ppt课件_第3页
第3页 / 共37页
2014操作系统第4章ppt课件_第4页
第4页 / 共37页
2014操作系统第4章ppt课件_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《2014操作系统第4章ppt课件》由会员分享,可在线阅读,更多相关《2014操作系统第4章ppt课件(37页珍藏版)》请在金锄头文库上搜索。

1、第4章 处理机调度,4.1 分级调度 4.2 作业调度 4.3 进程调度 4.4 调度算法 4.5 算法评价 4.6 实时系统调度方法 本章小结 习题,衡量调度策略的最常用的几个指标是: 周转时间:周转时间是指将一个作业提交给计算机系统后到该作业的结果返回给用户所需要的时间。 吞吐率:吞吐率是指在给定的时间内,一个计算机系统所完成的总工作量。 响应时间:响应时间则是指从用户向计算机发出一个命令到计算机把相应的执行结果返回给用户所需要的时间。 设备利用率:设备利用率主要指输入输出设备的使用情况。,图4.1 作业的状态及其转换,4.1 分 级 调 度 4.1.1 作业的状态及其转换,(1) 作业调

2、度:又称宏观调度,或高级调度。 (2) 交换调度:又称中级调度。 (3) 进程调度:又称微观调度或低级调度。 (4) 线程调度。,4.1.2 调度的层次,4.1.3 作业与进程的关系 1.作业可被看作是用户向计算机提交任务的任务实体,进程则是计算机为了完成用户任务实体而设置的执行实体,是系统分配资源的基本单位。 2.一个作业总是由一个以上的多个进程组成的。 3.作业的概念主要用在批处理系统中。而进程的概念则用在几乎所有的多道系统中,4.2 作 业 调 度 作业调度主要是完成作业从后备状态到执行状态的转变,以及从执行状态到完成状态的转变。 4.2.1 作业调度功能 (1) 记录系统中各作业的状况

3、。 系统通过JCB而感知作业的存在。,(2) 从后备队列中挑选出一部分作业投入执行。作业调度程序根据选定的调度算法,从后备作业队列中挑选出若干作业去投入执行。 (3) 为被选中作业做好执行前的准备工作。作业调度程序为选中的作业建立相应的进程,并为这些进程分配它们所需要的系统资源. (4) 在作业执行结束时做善后处理工作。,图4.3 作业调度中状态的转换过程,4.2.2 作业调度目标与性能衡量 调度目标主要是以下4点: (1) 对所有作业应该是公平合理的; (2) 应使设备有高的利用率; (3) 每天执行尽可能多的作业; (4) 有快的响应时间。,1. 周转时间: 作业i的周转时间Ti为 Ti=

4、Tei-Tsi 其中Tei为作业i的完成时间,Tsi为作业的提交时间。 对于被测定作业流所含有的n(n=1)个作业来说,其平均周转时间为: 一个作业的周转时间说明了该作业在系统内停留的时间,包含两部分:等待时间;执行时间,即: Ti=TwiTri 这里,Twi主要指作业i由后备状态到执行状态的等待时间,它不包括作业进入执行状态后的等待时间。,2. 带权周转时间 作业的周转时间包含了两个部分,即等待时间和执行时间。带权周转时间是作业周转时间与作业执行时间的比: Wi=Ti/Tri 对于被测定作业流所含有的几个作业来说,其平均带权周转时间为:,4.3.1 进程调度的功能 进程调度的具体功能可总结如

5、下: (1) 记录系统中所有进程的执行情况 (2) 选择占有处理机的进程 (3) 进行进程上下文切换,4.3 进 程 调 度,4.3.2 进程调度的时机 引起进程调度的原因有以下几类: 正在执行的进程执行完毕。 (2) 执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等待状态。 (3) 执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了V原语操作激活了等待资源的进程队列。 (4) 执行中进程提出IO请求后被阻塞。 (5) 在分时系统中时间片已经用完。 (6) 在执行完系统调用,在系统程序返回用户进程时,可认为系统进程执行完毕,从而可调度选择一新的用户进程执行。 (7) 就绪队列中的某

6、进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。,4.3.3 进程上下文切换 进程上下文由正文段、数据段、硬件寄存器的内容以及有关数据结构等组成。 进程上下文切换包括4个步骤: (1) 决定是否做上下文切换以及是否允许做上下文切换。 (2) 保存当前执行进程的上下文。 (3) 使用进程调度算法,选择一个处于就绪状态进程。 (4) 恢复或装配所选进程的上下文,将CPU控制权交给所选进程。,进程调度性能的衡量方法可分为定性和定量两种。 定性衡量方面,调度的可靠性,简洁性 进程调度的定量评价包括CPU的利用率评价、进程在就绪队列中的等待时间与执行时间之比等。实际上,由于进程进入就绪队

7、列的随机模型很难确定,而且进程上下文切换等也将影响进程的执行效率,从而对进程调度进行解析是很困难的。一般情况下,大多利用模拟或测试系统响应时间的方法来评价进程调度的性能。,4.3.4 进程调度性能评价,4.4 调 度 算 法 进程调度算法: 先来先服务(FCFS)调度算法 2. 轮转法(round robin) 时间片长度的选择是根据系统对响应时间的要求R和就绪队列中所允许的最大进程数Nmax确定的。它可表示为:q=R/Nmax 思考:时间片长度选取不当的影响?,3. 多级反馈轮转法 思考:加入到就绪队列的进程有几种情况? 如果对这些进程区别对待,给予不同的优先级和时间片,每个队列按FCFS原

8、则排列,各队列之间的进程享有不同的优先级,但同一队列内优先级相同。不同进程进入不同的就绪队列。 例如:线性优先级调度策略(selfish round robin) 线性优先级调度策略采用如下方式,即新创建的进程按FCFS方式排成就绪队列,而其他已得到过时间片服务的进程也按FCFS方式排成另一个就绪队列或称享受服务队列(图4.5)。,图4.5 线性优先级调度 新创建进程就绪队列优先级P以P=a*t (a0)的速率增加。 享受服务队列中进程的优先级P以 P=b*t (ab0) 的速率增长。设某一进程在时刻t1时被创建,在时刻t时,该进程的优先级为 P(t)=a*(t-t1) (t1tt1),又设该

9、进程在t1时刻转入享受服务队列,则在时刻t,该进程的优先级变为 P(t)=a*(t1-t1)+b*(t-t1) (t1tt2) 那么,一个新创建进程等待多长时间之后进入享受服务队列较为合适呢?当新创建进程就绪队列中的头一个进程的优先级P(t)=a*(t-t1)与享受服务队列中最后一个就绪进程的优先级P(t)=b*t相等时,新创建进程队列中的头一个进程可以转入享受服务进程队列。其优先级变化曲线如图4.6。,图4.6 优先级变化曲线,另外,当享受服务进程队列为空时,新创建进程队列的头一个进程也将移入享受服务进程队列。 显然,在上述线性优先级调度法中,ab0 的条件是必要的。否则,当ba0 时,两个

10、不同队列中的就绪态进程的优先级将永远不会相等,从而,在享受服务进程队列中永远只有一个进程。因此,上述线性优先级调度策略退回到FCFS方式。另外,如果ab=0,则线性优先级调度策略退回到轮转法调度方式。事实上,线性优先级调度策略是一种介于轮转法和FCFS方式之间的调度策略。,4. 优先级法 系统或用户按某种原则为作业或进程指定一个优先级来表示该作业或进程所享有的调度优先权。 静态优先级: 按进程的类型给予不同的优先级。 (2) 将作业的静态优先级作为它所属进程的优先级。 动态优先级: (1) 根据进程占有CPU时间的长短来决定。 (2) 根据就绪进程等待CPU的时间长短来决定。 思考:多级反馈轮

11、转法与优先级法在原理上的区别,作业调度算法: 1.先来先服务调度算法 2.优先级法 (1) 由用户自己根据作业的紧急程度输入一个适当的优先级。 (2) 由系统或操作员根据作业类型指定优先级。 (3) 系统根据作业要求资源情况确定优先级。 3. 最短作业优先法(shortest job first) 4. 最高响应比优先法(highest responseratio next) R=(W+T)/T=1+W/T 其中T为该作业估计需要的执行时间,W为作业在后备状态队列中的等待时间。,例1:在单道批处理系统中,有五个作业进入输入井的时间及需要执行的时间如下表所示,约定当这五个作业全部进入输入井后立即

12、进行调度,忽略调度的时间开销。要求:写出分别采用先来先服务和最短执行时间优先调度算法时的调度次序和作业平均周转时间。,先来先服务:12345 108分钟 最短作业优先:53421 81分钟,例2:一个多道程序系统,有一个作业序列,作业的提交时间及运行时间在下表中所列,当第一个作业进入系统后开始调度,假定作业都是仅作计算。请列出在分别采用先来先服务算法和计算时间短的优先算法管理作业时各个作业的开始时间、完成时间和周转时间。注意:忽略系统开销。,4.6 实时系统调度方法 4.6.1 实时系统的特点 根据对处理外部事件的时限要求,实时系统中处理的外部事件可分为硬实时任务和软实时任务。硬实时任务要求系

13、统必须完全满足任务的时限要求。软实时任务则允许系统对任务的时限要求有一定的延迟,其时限要求只是一个相对条件。 实时系统的另一个特点是它所处理的外部任务可分为周期性的与非周期性的两大类。对于非周期性任务来说,存在有一个完成或开始进行处理时限,而周期性任务只要求在周期T内完成或开始进行处理。,一般来说,实时操作系统具有以下特点: (1) 有限等待时间(决定性) (2) 有限响应时间 (3) 用户控制 (4) 可靠性高 (5) 系统出错处理能力强 实时系统要求所有的进程在处理事件时,都必须在有限时间内开始处理。这一特性又被称为实时系统的决定性特性。 实时系统的有限响应时间特性是指从系统响应外部事件开

14、始,必须在有限时间内处理完毕。,实时系统要求很高的可靠性。 实时操作系统具有下述能力: (1) 很快的进程或线程切换速度 (2) 快速的外部中断响应能力 (3) 基于优先级的随时抢先式调度策略 基于优先级的调度策略大致有以下4种。即: 优先级+时间片轮转调度策略; 基于优先级的非抢先式调度策略; 基于优先级的固定点抢先式调度策略; 基于优先级的随时抢先式调度策略。 基于优先级的固定点抢先式调度方式与基于优先级的随时抢先式调度策略是实时系统的主要调度策略。,4.6.2 实时调度算法的分类 4类实时调度算法: (1) 静态表格驱动类 静态表格驱动类的实时调度算法,对可能的调度条件和参数进行静态分析

15、,并将分析结果作为实际调度结果。这类调度方法多用于调度处理周期性任务 (2) 静态优先级驱动抢先式调度算法类 该类算法的静态分析不直接产生调度结果,而只用来指定任务的优先级。频率单调调度算法就是一种静态优先级驱动的抢先式调度算法。 (3) 动态计划调度算法类 动态计划调度算法在调度任务执行之前排出调度计划,并分析计划的调度结果是否使得任务所要求的处理时限得到满足。如果能够满足,则按调度计划执行,否则修改调度计划。 (4) 尽力而为调度算法类 这一类算法不进行可能性分析,只对到达的事件和相关任务指定相应的优先级,并进行调度。尽力而为调度方式开销较小,实现容易。但是,该算法不一定满足用户要求的处理

16、时限。,4.6.3 时限调度算法与频率单调调度算法 时限调度算法是一种以满足用户要求的时限为调度原则的算法。在实时系统中的用户要求时限有两种,即处理开始时限和处理结束时限。时限调度算法可以使用任一种时限。时限调度算法不可用于周期性调度与非周期性调度两种。 时限调度算法所需要的相关输入信息包括以下几种: 任务就绪时间或事件到达时间 (2) 开始时限 (3) 完成时限 (4) 处理时间 (5) 资源需求 (6) 优先级,时限调度算法的基本思想是:按用户的时限要求顺序设置优先级,优先级高者占据处理机,也就是说,时限要求最近的任务优先占有处理机。 时限调度是抢先式的。下面是用时限调度算法调度周期性实时任务的例子。 设实时系统从两个不同的数据源DA和D周期性地收集数据并进行处理,其中DA的时限要求以30 ms为周期,DB的时限要求以75 ms为周期。设DA所需处理时限为15 ms,DB所需处理时限为38 ms,则与DA和DB有关进程的事件发生时限(就绪时限),执行时限以及结束时限如图4.11所示。,图4.11 周期性任务的预计发生、执行与结束时限,如果使用时限调度算法,并按最近结束时限优

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号