更新时间:2023-07-13 09:37
作业控制语言是指用来实现对用户作业的组织和管理的各种控制命令或控制语句的有序集合。不同计算机系统的作业控制语言格式不同,各有特点。但他们所实现的主要功能是相同的。
在早期批处理系统中,为了描述用户提交给计算机的任务,系统提供给用户的是类似于高级语言的作业控制语言。当用户向计算机提出要求时,需要用作业控制语言来编写作业控制程序,内容包括每一个运行步骤、要处理的数据、需要运行的程序、输入和输出方式、需要使用的资源等。对于用户来说,这不是一个轻松的事情,他不但要熟记作业控制语言的所有语句,还要对自己的程序在计算机中的运行状况有一个预测,运行的中间结果用户往往看不到也无法干预。这是作业的脱机控制时期,早期的计算机用户是一个特殊的专业化的群体。
对作业控制语言的改进是:直接使用高级语言对作业进行说明。BASIC语言是一个很典型的代表,用户可以输人单条BASIC语言命令来代表一个作业步骤,上一个步骤执行完毕以后再用新的命令来开始下一个步骤。作业控制已由脱机形式变为联机形式。
用户的作业可以由一个或多个作业步构成。只有一个作业步的作业叫做单步作业;由多个作业步构成的作业叫做多步作业。不论单步作业还是多步作业一般都包含三个JCL基本语句(JCL Statement)。它们分别是:
1.作业语句(JOB)
标识一个作业的开始,提供必要的运行参数。
2.执行语句(EXEC)
标识一个作业步的开始,定义本作业步所要执行的程序或过程。
3.数据定义语句(DD)
用于描述应用程序所需要的数据文件。
系统规定这三种语句行必须以“//”开头。
在大部分作业控制语言中所用到的命令大致为下列这些:
1.用某个编译程序对一个程序进行编译.
2.把某个程序中所用到的全部过程连接起来.
3.执行某个链接程序.
4.定义一份文件,
5.把一份文件写入到目录表中.
6.从目录表中撤除一份文件.
7.请求装上某盘磁带.
9.对某份文件进行复制.
10.为了今后继续运行而把某一进程的状态保存起来(检验点).
作业控制语言还不能像算法语言那样统一,不同系统各不相同,大致说来,JCL一般包括I/O命令、编译命令、操作命令以及条件命令等几类。
I/0命令用来说明用户各种信息(包括程序、数据和作业说明书(控制命令)等)的输入、结果信息(包括编译好的目标程序、计算结果)的输出以及I/O设备使用等。
编译命令用于对不同语言的源程序进行编译,此外还有与此有关的一些命令,诸如对编译出错的处理、列表输出、目标程序是否需立即装入内存启动运行等。
操作命令是对作业运行中诸如启动、运行时的限制、作业终止等问题的控制。
条件命令是针对程序运行中发生某个重大事件时的处理方式而设置的,它是用户在充分估计作业运行情况的同时,针对不同情况予以分别处理,以达到预想的结果。
作业控制语言的主要功能有四点。
(1)能提供作业的提交;
(2)能控制作业和作业步的执行;
(3)能提供对各种软硬件资源的使用;
(4)其它各种功能,如日历、时间、账号等。