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