抢占式优先权算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
淮海工学院计算机科学系
3.1.2 调度队列模型
不同OS对高级、中级和低级调度的选取形成了不同的
调度队列模型,共有3种类型。 1.仅有进程调度的调度队列模型
2. 具有高级和低级调度的调度队列模型
3. 同时具有三级调度的调度队列模型
淮海工学院计算机科学系
时间片到
作业调度 就绪队列 作业 交互式用户
高级调度又称为作业调度或宏观调度或长程调度(多 道批处理系统需要作业调度;分时系统和实时系统一般
不需要高级调度。 )
2. 中级调度(Intermediate-Level Scheduling) 引入中级调度的主要目的是为了提高内存的利用率和
系统吞吐量。
3.低级调度(Low Level Scheduling) 低级调度又称进程调度或微观调度或短程调度
进程调度
进程完成 CP U
调入 就绪挂起队列
挂起调出 事件出现
阻塞挂起队列
中级调度
挂起调出 阻塞队列 等待事件
事件出现
具有三级调度时的调度队列模型
淮海工学院计算机科学系
3.1.3 选择调度方式和调度算法的若干准则 1. 面向用户的准则
① 周转时间短:周转时间是指作业从提交给系统开始,到作业完 成为止所消耗的时间。常用于衡量系统性能、作业调度算法的 优劣的重要指标。
引起调度的原因:1)当前进程运行结束或发生某事件 而终止;2)当前进程因提出I/O请求而阻塞;3)进程 之间通信或同步而由于执行原语而等待。
淮海工学院计算机科学系
抢占方式(Preemptive):抢占方式允许调度程序根 据某种策略中止当前进程的执行,将其移入就绪队列, 并将处理机分派给另一个进程使之投入运行。 抢占原则:1)优先权原则:允许高优先权进程抢占低 优先权的CPU;2)短作业原则:允许短进程抢占长进 程的处理机;3)时间片原则:分时系统中的当前进程, 若时间片规定的时间用完,不管是否运行结束,都要立 即中止放到就绪队列中,再将CPU分派给其它进程。
淮海工学院计算机科学系
3.2
调度算法
1、先来先服务(FCFS)调度算法
适应范围:适应作业调度和进程调度;
调度过程:FCFS用于作业(进程)调度时,从后备(就 绪)队列中选择若干或一个先到来的作业(进程)投入 运行。进程在分派到CPU进入运行过程中,只有当进程 运行结束或因某事件发生而被阻塞才放弃CPU。 算法特点:算法容易实现,但效率不高;只顾及作业等 候时间,没考虑作业要求服务时间的长短,不利于短作 业而优待了长作业(CPU繁忙型作业);作业调度不分轻重 缓急,人人平等;FCFS为非抢占式调度。
淮海工学院计算机科学系
ห้องสมุดไป่ตู้
作业的状态及其转换
作业调度程序
SPOOLing 程序
运行 进程调度 程序
内存
提交 输入设 备
后备 外存输 入井
就绪
阻塞
完成
就绪
中级调度 外存
阻塞
淮海工学院计算机科学系
3.1.1 处理机调度的层次
在多道批处理系统中,一个作业可能需要经历三级调度:
1. 高级调度(High Scheduling)
截止时间是指系统为处理某事件/任务必须开始执行
的最迟时间,或必须完成的最迟时间。 ④ 优先权准则:批处理、分时和实时系统中的调度算
法都应该遵循的原则。这种调度思想就是“急事急
办”,优先权高者为急。
淮海工学院计算机科学系
2.
① 系统吞吐量高:评价批处理系统整体性能的重要指
标。吞吐量是指单位时间内系统所完成的作业数。 作业调度算法对系统吞吐量有直接影响,选择确定 时应考虑这一准则。 ② 处理机利用率好:CPU的利用率是衡量大中型系统 性能的重要指标。 ③ 各类资源的平衡利用:选择适当调度算法,保证各 种资源的利用都处于忙碌状态。
淮海工学院计算机科学系
先来先服务(FCFS)调度算法效率举例
表注:周转时间=完成时间-到达时间;带权周转时间=周转时间/服务时间 这两个时间都是越小越好!
淮海工学院计算机科学系
2、短作业/进程(SJF/SPF)优先调度算法
① 适应范围:适应作业调度和进程调度。SJF/SPF算法以进入系统的 作业/进程所要求的CPU时间为标准,总选取估计计算时间最短的 作业/进程投入运行。 ② 算法特点:算法易于实现,效率不高;忽视长作业等待时间,会 出现饥饿现象;不考虑紧迫作业/进程的需求;长短时间人为估计, 不可靠,会出现以长乱短。 SPF算法类型:抢占或非抢占式。抢占式SPF调度算法在新进程进 入就绪队列时,将其运行时间与当前进程的剩余运行时间相比, 若更短时,可抢占CPU;非抢占式SPF算法允许当前运行进程先执 行直到释放CPU为止。可抢占SPF调度有时称为最短剩余时间优先 (shortest-remaining-time-first)调度。
第三章 处理机调度与死锁
3.1 处理机调度的基本概念 3.2 调度算法
3.3 实时调度
3.4 多处理机系统中的调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
淮海工学院计算机科学系
3.1 处理机调度的基本概念 作业的状态及其转换 ① 批处理系统才有作业的概念,分时系统没有 作业的概念; ② 作业的状态分为:提交、后备、运行和完成
淮海工学院计算机科学系
4、进程调度方式
非抢占方式(Nonpreemptive):在这种调度方式下, 一旦一个进程被选中运行,它就一直运行下去,直到它 运行结束并自愿放弃CPU,或者因等待某一事件而被阻 塞或终止时为止,才把CPU出让给其他进程,即得到 CPU的进程不管运行多长时间,都一直运行下去,不会 因为当前进程以外的原因而被迫让出CPU。
i 1 可把平均周转时间描述为: T Ti n i 1
作业的周转时间T与系统为它提供服务的时间TS之比,即W=T/TS,称 为带权周转时间,而平均带权周转时间则可表示为:
1 n Ti W n i 1 TSi
淮海工学院计算机科学系
② 响应时间快:分时系统性能的主要评价指标。响应 时间指用户从键盘键入一个命令开始,到系统首次 给出响应信息为止这段时间。 ③ 截止时间的保证:评价实时系统性能的重要指标。
淮海工学院计算机科学系
① ②
③
④
提交状态:作业在输入设备上并准备进入外存输入井前 的状态。用户作业通常包括:程序、数据和作业说明书 后备状态:由SPOOLing输入程序输入到外存输入井中, 为其建立作业控制块(JCB),并将JCB插入到后备作 业队列中的状态 运行状态:作业被作业调度程序选中,由外存输入井调 入到内存,为其分配了所需的资源并建立了进程,此时 作业就进入到运行状态。 完成状态:当作业正常结束或异常终止时,就进入完成 状态。由作业调度程序做收尾工作:撤销JCB、回收分 给该作业的系统资源等。