购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3 作业管理

所谓作业,就是用户在一次解题过程中要求计算机系统所做的工作总和。一个作业是指在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作。

1.作业的状态

作业由程序、数据和作业说明书3部分组成。作业说明书包括作业基本情况、作业控制和对作业资源要求的描述,它体现用户的控制意图,如预计运行时间、要求的资源情况、执行优先级等。作业从进入系统到运行结束的处理过程,一般要经历提交、后备、运行、完成4个阶段。

1)提交状态

作业从输入设备进入外存储器的过程称为提交状态。输入方式可以是脱机或伪脱机输入。处于提交状态的作业,因它的信息尚未全部进入系统,不受作业管理调度。

2)后备状态

当做业的全部信息进入外存后,系统将它们加入后备作业队列,为每个作业建立一个作业控制块JCB,记录该作业的资源请求、运行状态等信息。作业控制块(JCB)是该作业存在的唯一标志。

3)运行状态

作业被作业调度程序选中,并分配到它需要的资源时,调入内存运行,即作业进入运行状态。作业管理程序将按其作业步组织的顺序依次为每个作业步建立一个主进程,并为它分配必要的资源交给进程调度模块管理。每个主进程又可以建立若干子进程来实现主进程承担的工作。这些子进程有的正占用CPU处于执行状态,有的阻塞等待某事件,有的处于就绪状态。从宏观上看,该作业处于运行状态。

4)完成状态

当做业运行结束或非正常结束而停止运行时,作业进入完成状态。作业调度程序对该作业进行后处理,收回与它有关的全部资源,撤销该作业的作业控制块(JCB)。

2.作业调度

作业调度就是按某种算法从后备作业队列中选择一个作业装入主存开始执行,在作业执行完成后做些善后处理工作。完成这种功能的程序称为作业调度程序。

作业调度的基本功能是检查系统是否满足作业的资源要求,并按一定的算法选取作业,实现作业从后备到运行的状态变换。具体工作是按照一定的算法从后备队列中选出作业后,为其分配内存等必要资源,并创建进程,挂到就绪队列上,使该作业进入运行状态。作业调度也称为宏观调度。

作业调度常用的算法如下:

1)先来先服务调度算法

先来先服务(FCFS)调度算法按照作业提交的先后次序进行调度,即优先调度在系统中等待时间最长的作业,而不管它要求运行时间的长短。

2)最短作业优先调度算法

最短作业优先(SJF)调度算法选择要求运行时间最短的作业优先调度。

比较上述两种调度算法可以看出,最短作业优先的算法其调度性能要好一点。但是对于长作业可能会产生这种情况,如果不断有短作业进来,则该长作业一直得不到运行机会,这是最短作业优先调度算法的缺点。

3)响应比高者优先调度算法

为了克服上述缺点,可以采用一种称为响应比高者优先(HRN)的调度算法。响应比Rp的定义如下:

所谓响应比高者优先调度算法,就是在每调度一个作业投入运行时,计算后备作业表中每个作业的响应比,挑选响应比最高者。从上述公式可以看出,一个作业的响应比随等待时间的增加而提高,因此在系统中的作业只要它等待足够长的时间,总有可能成为响应比最高者而获得运行机会。

虽然这种算法的调度性能不如最短作业优先调度算法好,但是它既照顾了作业到来的先后顺序,又考虑了要求系统服务时间的长短,所以它是先来先服务算法FCFS和短作业优先算法SJF的较好折中。该算法的缺点是较为复杂,每次调度时需对已经到达的作业进行响应比的计算。 lUiFgBwBMVKUPW7WlqaxZsqFgcRo6tbMOtArhTGLUXaR+zOVabbGlxsz6/cQ9X5i

点击中间区域
呼出菜单
上一章
目录
下一章
×