king

作业调度程序是从处于什么状态的队列中选取作业投入运行

king 运维技术 2022-08-09 504浏览 0

作业调度程序是从处于什么状态的队列中选取作业投入运行

作业调度的主要功能是根据作业控制块中的信息,审查系统能否满足用户作业的资源需求,以及按照一定的算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源。然后再将新创建的进程插入就绪队列,准备执行。因此,有时也把作业调度称为接纳调度。

作业状态

作业从进入系统到运行结束,一般要经历进入、收容、运行、完成四个阶段。相应地,一个作业从交给计算机系统到执行结束退出系统,一般都要经历提交、后备、执行和完成四个状态。

进入状态:即提交状态,作业由输入设备进入外存储器(也称输入井)的过程;处于提交状态的作业,其信息正在进入系统。

后备状态:当作业的全部信息进入外存后,系统就为该作业建立一个作业控制块(JCB)。

操作员把作业输入到直接存取的后援存取器后,为进入系统的作业建立作业控制块,并把它加入到后备作业队列中,等候作业调度程序调度。这一过程也称为作业注册。

运行状态:作业被作业调度程序选中,且分配了必要的资源,建立一组相应的进程后,该作业就进入了运行状态。它分为三种状态:即就绪状态、执行状态、阻塞状态。

一个后备作业被作业调度程序选中分配了必要的资源并进入了内存,作业调度程序同时为其建立了相应的进程后,该作业就由后备状态变成了执行状态。

完成状态:当作业正常运行结束或因发生错误而终止时,作业进入完成阶段。 一般来说,作业调度程序需从处于后备状态的队列中选取适当的作业投入运行。

作业调度的步骤如下:

(1)根据JCB属性建立JCB控制表格,记录作业各种工作状态;

(2)采用选定的调度算法,从后备作业中选出一道或多道作业投入运行;

(3)为被选中的作业做好运行前的准备工作,包括创建进程及为相应的进程分配系统资源:

(4)作业运行结束后的善后处理工作。比如状态登记、资源回收、输出处理、作业的撤销。

常用的作业调度算法

常用的作业调度算法有先来先服务、最短作业优先法、响应比高者优先和优先数法。

(1)先来先服务(FCFS)。按作业到达的先后次序调度,它不利于短作业。

(2)短作业优先(SJF)。按作业的估计运行时间调度,估计运行时间短的作业优先调度。它不利于长作业,可能会使一个估计运行时间长的作业迟迟得不到服务。

(3)响应比高者优先(HRN)。综合上述两者,既考虑作业估计运行时间,又考虑作业等待时间,响应比是:HRN=(估计运行时间+等待时间)/估计运行时间。

(4)优先级调度。根据作业的优先级别,优先级高者先调度。

此外,我们还需了解几个重要概念。

1.作业的周转时间 作业的周转时间是指从作业提交到作业完成之间的时间间隔。作业i的周转时间 Ti可用公式表示如下: Ti=Tei-Tsi 其中Tei为作业i的完成时间,Tsi为作业i的提交时间。

2.平均周转时间 平均周转时间是指多个作业的周转时间的平均值。n个作业的平均周转时间了可用公式表示如下: T=(T1+T2+…+Tn)/n

3.带权周转时间 带权周转时间是指作业周转时间与作业实际运行时间的比。作业i的带权周转时间 Wi可用公式表示如下: Wi=Ti/Tri其中Ti为作业i的周转时间,Tri为作业i的实际运行时间。

4.平均带权周转时间 平均带权周转时间是指多个作业的带权周转时间的平均值。


发表评论