作业是一个比程序更为广泛的概念,它不仅包含了通常的程序和数据,而且配有一份作业说明书,系统根据该说明书对程序的运行进行控制。在多道批处理系统中,会将作业作为基本单位从外存调入内存。
在多道批处理系统中,作业是用户提交给系统的一项相对独立的工作。操作员把用户提交的作业通过相应的输入设备输入磁盘存储器,并保存在一个后备作业队列中,再由作业调度程序将其从外存调入内存。
作业从进入系统到运行结束,通常需要经历收容、运行和完成三个阶段。相应的作业也就有“后备状态”、“运行状态”、“完成状态”。
(1)收容阶段。
操作员把用户提交 的作业通过某种输入方式或SPOOLing系统输入到硬盘(外存)上,再为该作业建立JCB(作业控制块,其中保存了系统对作业进行管理和调度所需的全部信息),并把它放入作业后备队列(位于外存)中。相应地、此时作业的状态为“后备状态”。
由谁来创建JCB? “作业注册”程序。

(2)运行阶段。
当作业被作业调度(见调度)选中后,便为它分配必要的资源和建立进程,并将它放入就绪队列。一个作业从第一次进入就绪状态开始,直到它运行结束前,在此期间都处于“运行状态”。
(3) 完成阶段。
当作业运行完成、或者发生异常情况而提前结束时,作业便进入完成阶段,相应的作业状态为“完成状态”。此时系统中的“终止作业”程序 会回收已分配给该作业的作业控制块JCB和所有资源,并将作业运行结果信息形成输出文件后输出。

一个作业可以细分为多个进程,正如一个进程可以划分为多个线程一样。这样便不难理解,作业运行,其实就是多个进程在进行进程的三态转换。