第5章 处理机调度
一个作业从提交到完成通常要经历多级调度。
5.1 处理机调度的类型
处理机调度需要解决:
多任务以何种方式共享处理机。互斥
处理机时间的分配及长短确定。合理
处理机分配策略。如何分配
进程切换频度与系统效率的权衡。频繁开销大,反之则并发性低
处理机的三级调度
处理机的三级调度:
作业调度
进程调度
交换调度
1.作业的状态
作业从提交到完成要经历四种状态:
提交状态:用户作业由输入设备向系统外存输入时作业所处的状态。
后备状态:作业输入到外存后,系统为其建立了作业控制块,并把它插入到后备作业队列中等待调度运行。
执行状态:作业在内存中执行。
完成状态:作业正常或异常结束,但作业占有的资源还未被系统全部回收。
作业状态转换图
作业调度
作业调度又称高级调度、宏观调度或长程调度,其主要任务是按一定的原则从外存上处于后备状态的作业中选择一个或多个作业,给它们分配内存、输入/输出设备等必要的资源,并建立相应的进程,以使该作业具有获得竞争处理机的权利。
作业调度的运行频率较低,通常为几分钟一次。
作业调度的功能
接纳多少作业:决定接纳作业的数目。
记录作业状况:记录作业各阶段的情况。包括资源分配、优先权、状态等。相关信息构成JCB,它是作业存在的唯一标志。
确定调度算法:决定接纳哪些作业。
做好执行前的准备工作:为选中作业建立进程并分配资源。
善后处理:作业完成后回收占用资源,撤消JCB。
2.中程调度
中程调度又称中级调度或交换调度,其功能是将内存中暂时不用的信息移到外存,以腾出空间给内存中的进程使用,或将需要的信息从外存读入内存。
引入中程调度的目的是提高内存利用率和系统吞吐量。
中程调度的运行频率介于两者之间。
引起中程调度的原因
频繁缺页时,应换出内存的部分作业。
就绪队列中进程太多影响响应时间,应换出就绪队列中的部分进程。
等待I/O可能要一段时间,可以将这类进程换出。
为便于紧缩,可以将部分进程换出。
内存有足够空间时,可以从外存换入一些进程。
外存中进程的优先级高于内存时,可以换入。
中程调度程序