作业是系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和。例如,对用户编写的源程序,需要经过编译、连接、装入以及执行等步骤得到结果,这其中的每一个步骤称为一个作业步。操作系统中用来控制作业进入、执行和撤销的一组程序称为作业管理程序。操作系统可以进一步为每个作业创建作业步进程,完成用户的工作。
作业由以下三部分组成:
作业说明书包括作业基本情况、作业控制、作业资源要求的描述,它体现用户的控制意图。其中,作业基本情况包括用户名、作业名、编程语言和最大处理时间等;作业控制包括作业控制方式、作业步的操作顺序、作业执行出错处理;作业资源要求的描述包括处理时间、优先级、主存空间、外设类型和数量、实用程序要求等。
作业控制块和作业后备队列:所谓作业控制块(JCB), 是记录与该作业有关的各种信息的登记表。JCB是作业存在的唯一标志,包括用户名、作业名和状态标志等信息。由于在输入井中有较多的后备作业,为了便于作业调度程序调度,通常将作业控制块排成一个或多个队列,而这些队列称为作业后备队列。也就是说,作业后备队列是由若干个JCB组成的。
作业控制:可以采用脱机和联机两种控制方式控制用户作业的运行。在脱机控制方式中,作业运行的过程是无须人工千预的,因此,用户必须将自己想让计算机干什么的意图用作业控制语言(JCL)编写成作业说明书,连同作业一起提交给计算机系统。在联机控制方式中,操作系统向用户提供了一组联机命令,用户可以通过终端输入命令,将自己想让计算机干什么的意图告诉计算机,以控制作业的运行过程,此过程需要人工干预。