系列文章目录
第一章 操作系统引论
第二章 进程的描述与控制
第三章处理机调度与死锁
前言
对于大型系统运行时的性能,在很大程度上都取决于处理机调度性能的好坏。因而处理机调度便成为OS中至关重要的部分。
一、处理机调度的层次与调度算法的目标
3.1.1 处理机调度的层次
1.高级调度(High Level Scheduling)
2.低级调度(Low Level Scheduling)
3.中级调度(Intermediate Scheduling)
一般用于分时系统
总结
短程调度 运行频率最高;
长程调度 作业周期较长,运行频率低;
中级调度 运行时间介于上述两种之间。
3.1.2 处理机调度算法的目标
1. 处理机调度算法的共同目标
CPU利用率 = CPU有效工作时间 /(CPU有效工作时间+CPU空闲等待时间)
2. 批处理系统的目标
接纳多少个作业由 平均周转时间 和 系统吞吐量 决定。
1. 平均周转时间短
周转时间:从作业被提交给系统开始,到作业完成为止的这段时间间隔
Ts为服务时间
周转时间
Ti=T完成 - T到达=Twait - Ts
平均周转时间
平均带权周转时间
W=T / Ts= Twait / Ts+1
2. 系统吞吐量高
吞吐量:单位时间内系统所完成的作业数
3. 处理机利用率高
3. 分时系统的目标
响应时间快
响应时间是用户从键盘提交一个请求开始,直到屏幕上显示出处理结果为止的一段时间。
4. 实时系统的目标
截止时间的保证
截止时间指某任务必须开始执行的最迟时间,或必须完成的最迟时间。
二、作业与作业调度
3.2.1 批处理中的作业
1. 作业
作业 = 作业说明书 + 代码 + 数据
4. 作业控制块(JCB)
- 在多道批处理中,为每个作业都设置了一个作业控制块。
3. 作业状态
3.2.2 作业调度的主要任务
3.2.3 先来先服务(FCFS)调度算法
- 先来先服务:按照作业/进程进入系统的先后次序进行调度,先进入作业系统者先调度;即启动等待时间最长的作业/进程。
- 这是一种最简单的调度算法,即可用于作业调度,也可用于进程调度。
先来先服务(先进先出)优缺点
- 比较有利于长作业(进程),而不利于短作业(进程)
- 有利于CPU繁忙型作业(进程),而不利于I/O繁忙作业(进程)
- 用于批处理系统,不适于分时系统
《操作系统》先来先服务(FCFS)工作原理
3.3.4 短作业优先(SJF)调度算法
- 短作业优先调度算法SJF,以要求运行时间长短进行调度,即启动要求运行时间最短的作业。
- 可以分别用于作业调度和进程调度。
- 短作业优先调度算法,是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。
短作业(SJF)优点
- 比FCFS 改善平均周转时间和平均带权周转时间,缩短作业的等待时间。
- 提高系统的吞吐量。
短作业(SJF)缺点
- 对长作业非常不利,可能长时间的不到执行。
- 未能依据作业的紧迫程度来划分执行的优先级。
- 难以准确估计作业(进程)的执行时间,从而影响调度性能。
《操作系统》短作业优先(SJF)工作原理