JCL在大型机环境中用作程序(例如:COBOL,Assembler或PL/I)与操作系统之间的通信.在大型机环境中,程序可以批量和在线模式执行.批处理系统的示例可以是通过VSAM(虚拟存储访问方法)文件处理银行交易并将其应用于相应的帐户.在线系统的示例可以是银行中的员工用来开立账户的后台屏幕.在批处理模式下,程序通过JCL作为作业提交给操作系统.
批处理和在线处理在输入,输出和程序执行请求方面有所不同.在批处理中,这些方面被输入到JCL中,而JCL又由操作系统接收.
作业是一个单元可以由许多工作步骤组成的工作.通过一组作业控制语句在作业控制语言(JCL)中指定每个作业步骤.
操作系统使用作业输入系统(JES)将作业接收到操作系统,安排它们进行处理和控制输出.
作业处理经过以下一系列步骤:
工作提交 - 将JCL提交给JES.
工作转换 - 转换JCL和PROC到JES理解的解释文本并存储到数据集中,我们称之为SPOOL.
作业排队 - JES根据JOB语句中的CLASS和PRTY参数决定作业的优先级(在 JCL - JOB Statement 章节中有说明).如果没有错误,则检查JCL错误并将作业安排到作业队列中.
作业执行 - 当作业达到最高优先级,从作业队列中执行.从SPOOL读取JCL,执行程序并将输出重定向到JCL中指定的相应输出目标.
清除 - 作业完成后,将释放分配的资源和JES SPOOL空间.为了存储作业日志,我们需要在将作业日志从SPOOL释放之前将其复制到另一个数据集.