在操作系统中,作业(job)或任务(task)是一个常见的概念。在PC机等微机系统中,作业的概念由于我们对问题的认识和管理。
作业的定义
从用户的角度,可以从逻辑上抽象地(并非精确地)描述作业的定义,而从系统的角度,则可以定义出作业的组织形式。
一般编制一个应用程序大致要经过图2.1中所描述的几步。即由概念或构思出发经过功能设计、结构设计以及详细设计过程之后,再编制程序和进行编辑输入、编译链接和反复调试之后再形成执行代码,并被执行,然后输出执行结果和建立相应的文档等。直到编辑为止的各步都可认为是可由人工独立完成的(尽管也有许多支撑软件存在),但从编辑输入开始的以下各步却是在用户的要求控制下由计算机完成。
在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。作业由不同的顺序相连的作业步组成。作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。一般来说,每一个作业步产生下一个作业步的输入文件。
从系统的角度看,作业则是一个比程序更广的概念。它由程序、数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。而且,在批处理系统中,作业是抢占内存的基本单位。也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。
作业的组成以及其对应的功能
作业由三部分组成,即程序、数据和作业说明书。一个作业可以包含多个程序和多个数据集,但必须至少包含一个程序。否则将不成为作业。作业中包含的程序和数据完成用户所要求的业务处理工作。作业说明书则体现用户的控制意图。由作业说明书在系统中生成一个称为作业控制块(job control block,JCB)的表格。该表格登记该作业所要求的资源情况、预计执行时间和执行优先级等。从而,操作系统通过该表了解到作业要求,并分配资源和控制作业中程序和数据的编译、链接、装入和执行等。