处理机调度的基本概念
1高/中/低级调度
A(不经常用)高级调度(长调度/作业调度/接纳调度):
决定外存上处于后备队列中的哪些作业调入内存.
1)作业调度时需决定:
接纳多少作业:取决于系统规模
接纳哪些作业:取决于调度算法
2)何时执行功能:有作业退出系统时,系统附和不足时
B(常用)低级调度(进程调度/短调度)
无论哪种操作系统都需要配置这级调度.
功能:根据某种算法决定就绪队列中的那个进程获得处理机,并有分派程序将处理机分配给选中的进程.
进程调度时需决定:
选择哪个就绪进程:取决于进程调度算法.
C中级调度(中程调度)
中级调度又称为内存调度.引入中级调度的主要目的是没高内存利用率和系统吞吐量.把那些暂时不能运行的进程,调至外存等待,此时进程的状态成为就绪驻外存状态(挂起状态).当具备运行条件且内存空闲的时候,由中级调度决定把外存已具备运行条件的就绪进程再重新调入内存,并修改其状态为就绪状态.中级调度的运行频率基本介于上述两种调度之间,因此称为中程调度.
处理机调度算法的目标:
1)处理机调度算法的共同目标:
- 资源利用率
- 公平性
- 平衡性
- 策略强制执行
2)批处理系统的目标
- 平均周转时间短(面向用户准则)
- 系统吞吐量高(面向系统)
- 处理机利用率高 (面向系统)
3 )分时系统目标
- 响应时间快(面向用户)
- 均衡性(系统)
4) 实时系统的目标
- 截止时间的保证(面向用户准则)
- 可预测性
作业与作业调度
1作业
1)作业不仅包含了通常的程序和数据,还有一份作业说明书,系统根据作业说明书进行控制,在批处理系统中,是以作业为基本单位从外存调入内存的.
2)作业步,通常,作业运行期间,每个作业都必须经过若干个相对对立有相互关联的顺序加工步骤才能得到结果.我们把其中每一个加工步骤称为作业步.
2作业控制块(Job Control Block,JCB)
为了管理和调度作业,在多道批处理系统,每个作业设置了一个作业控制块.
JCB内容:作业标识,用户名称,用户帐号,作业类型,作业状态,调度信息,资源需求,资源使用情况
当一个作业进入系统便注册了一个JCB,根据作业类型放到相应的作业后备队列中等待调度.
3 作业运行的三个阶段和三种状态
1) 收容阶段.操作员把用户提交的作业通过输入方式或SPOOLing系统输入到硬盘上,再建立JCB放到后备队列,状态为后备状态
2) 运行阶段.被作业调度选中后,分配资源和进程.进入就绪准柜台到运行结束处于运行阶段
3) 完成阶段.
4 作业调度的主要任务
1) 接纳多少个作业
取决于多道程序度,即允许多少作业同时在内存中运行,如果作业多,CPU利用率高,但因内存不足造成的中断就会增多,平均周转周期就会延长,影响系统的服务质量.多道程序度根据:
- 系统规模
- 运行速度
- 作业大小
- 系统性能
2) 接纳哪些作业
取决于调度算法
- 先来先服务调度算法 将最早进入外存的作业优先调入内存.
- 短作业优先调度算法 将外存上所需执行时间最短的作业调入内存
- 基于作业优先级调度算法 将外存上优先级最好的作业调入内存,
- 响应比高者优先
先来先服务(FCFS)和短作业(SJF)优先
FCFS(非抢占方式):
可用于进程调度
优点:简单,易于实现
缺点:不利于短作业,有利于CPU繁忙型,不利于IW性
SJF:
以作业长短来计算优先级,作业越短,其优先级越高.作业长短是以作业所要求运行的时间来衡量的.SJF算法可以分别用于进程调度和作业调度.
优点:调度性能较好
缺点:
a预知作业运行时间
b对长作业非常不利
c采用SJF算法,人机无法实现交互
d未考虑作业紧迫程度
优先调度算法和高响应比有限调度算法
1 优先级调度算法(priority-scheduling algorithm,PSA)
对于FCFS,等待时间就是优先级,对于短作业,作业长短就是优先级.基于作业的紧迫程度,由外部赋予响相应的优先级,系统从housewife队列汇总选择若干个优先级最高的作业装入内存.
2 高响应比优先调度算法(Highest Response Ratio Next)(作业调度)
为了协调FCFS和SJF ,引入了动态优先级,即优先级是可以改变的,令它随着等待时间的延长而增加,变化规律可以描述为:
优先权= (等待时间+要求服务时间)/要求服务时间=1+等待时间/要求服务时间
由于等待时间+服务时间之和就是对作业的响应时间,故优先级又相当于响应比Rp
Rp = (等待时间+要求服务时间)/要求服务时间 = 响应时间/要求服务时间
优点:照顾了作业到来的先后,考虑了作业的紧迫性
缺点:算法较为复杂,每次调度,均要重新计算响应比
进程调度
1进程调度的任务
a保存处理机的现场信息.进行调度时需要保存当前进程的处理机线程信息.
b按某种算法选取进程.从就绪队列汇总选取一个进程.
c把处理器分配给进程.由分派程序把处理机分配给该进程.
2进程调度机制.
a排队器.为了提高进程调度的效率,应事先将系统中所有的就绪进程按照一定的策略拍成一个或多个队列,以便调度程序能最快的找到他.
b分派器.分派器依据进程调度程序所选定的进程,将其从就绪队列中取出.然后从进行从分派器选出的进程间的上下文切换,见处理机分配给新选出的进程
2调度队列模型
3调度方式和算法的选择准则