1、高级调度:即作业调度。控制多道程序的道数,被选择进入主存的作业越多,每个作业所获得的CPU时间就越少。
中级调度:即平衡调度。当主存资源紧缺时,会把暂时不能运行的进程换出主存,此时这个线程处于”挂起“状态,不参与低级调度。
低级调度:即进程/线程调度。根据某种原则决定就绪队列中的哪个进程/内核级线程获得处理器,并将处理器让出给它使用。低级调度执行十分频繁,这部分代码要精心设计,并常驻主存。
2、选择调度算法的原则:
1)资源利用率:CPU利用率=CPU有效时间/CPU总的运行时间。
CPU总的运行时间=CPU有效工作时间+CPU空闲等待时间。
在一定的I/O操作等待时间的比率下,运行程序的道数越多,CPU空闲时间所占的百分比越低。
2)吞吐率:单位时间内CPU处理作业个数。
3)公平性:确保每个进程都能获得合理的CPU份额和其他资源份额,不会出现饥饿现象。
4)响应时间:从交互式进程提交一个请求(命令)至得到响应之间的时间间隔。
5)周转时间:批处理用户从向系统提交作业开始,到作业完成为止的时间间隔。
注意:批处理系统的调度性能用作业周转时间和带权作业周转时间来衡量,此时间越短则系统效率越高,作业的吞吐率越高。
3、作业和进程的关系:
作业是用户提交给操作系统计算的一个独立任务。每个作业必须经过若干相对独立且相互关联的顺序加工步骤才能得到结果,其中,每个加工步骤称为作业步。
作业是任务实体,进程是完成任务的执行实体。没有作业任务,进程无事可做;没有进程,作业任务无法完成。
4、批处理作业的输入:采用脱机控制方式,作业由程序、数据和作业说明书组成。
批处理作业的建立:为每个作业尽力一个作业控制块JCB,所有JCB组成作业表。
批处理作业的调度:选择