JCL - 概述

何时使用JCL

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释放之前将其复制到另一个数据集.