Jcl 简明教程

JCL - Overview

When to use JCL

JCL 用于大型机环境中,作为程序(例如:COBOL、汇编程序或 PL/I)和操作系统之间的通信。在大型机环境中,可以通过批处理和联机模式执行程序。批处理系统的示例可以通过 VSAM(虚拟存储访问方法)文件处理银行交易并将其应用于相应帐户。联机系统的示例可以是银行职员用于开立帐户的后端屏幕。在批处理模式中,程序通过 JCL 作为作业提交给操作系统。

批处理和联机处理在输入、输出和程序执行请求方面有差异。在批处理中,这些方面被输入 JCL,进而由操作系统接收。

Job Processing

作业是一个工作单元,它可以由许多作业步骤组成。每个作业步骤都通过一组作业控制语句在作业控制语言 (JCL) 中指定。

操作系统使用 Job Entry System (JES) 将作业接收至操作系统、安排处理作业,并控制输出。

作业处理经历如下图所示的一系列步骤:

job processing
  1. Job Submission - 将 JCL 提交至 JES。

  2. Job Conversion - JCL 及其 PROC 会被转换为解释文本,以便 JES 理解并存储到一个数据集(我们称之为 SPOOL)中。

  3. Job Queuing - JES 根据 JOB 语句 (如 JCL - JOB Statement 章节中所述) 中的参数 CLASS 和 PRTY 确定作业的优先级。检查 JCL 错误,如果没有错误,则计划作业进入作业队列。

  4. Job Execution - 当作业达到其最高优先级时,它将从作业队列中执行。从 SPOOL 中读取 JCL,执行程序,并将输出重定向到 JCL 中指定的相应输出目的地。

  5. Purging - 作业完成后,释放分配的资源和 JES SPOOL 空间。为了存储作业日志,我们需要在从 SPOOL 中释放之前将作业日志复制到另一个数据集。