JCL - Panoramica

Quando utilizzare JCL

JCL viene utilizzato in un ambiente mainframe per fungere da comunicazione tra un programma (Esempio: COBOL, Assembler o PL / I) e il sistema operativo. In un ambiente mainframe, i programmi possono essere eseguiti in modalità batch e online. Un esempio di un sistema batch può essere l'elaborazione delle transazioni bancarie tramite un file VSAM (Virtual Storage Access Method) e la sua applicazione ai conti corrispondenti. Un esempio di un sistema online può essere una schermata di back office utilizzata dal personale di una banca per aprire un conto. In modalità batch, i programmi vengono inviati al sistema operativo come lavoro tramite un JCL.

L'elaborazione batch e in linea differiscono per l'aspetto della richiesta di input, output e di esecuzione del programma. Nell'elaborazione batch, questi aspetti vengono inseriti in un JCL che viene a sua volta ricevuto dal sistema operativo.

Elaborazione del lavoro

Un lavoro è un'unità di lavoro che può essere composta da molte fasi di lavoro. Ogni fase del lavoro viene specificata in un JCL (Job Control Language) tramite una serie di istruzioni di controllo del lavoro.

Il sistema operativo utilizza Job Entry System (JES) per ricevere i lavori nel sistema operativo, per programmarli per l'elaborazione e per controllare l'output.

L'elaborazione del lavoro passa attraverso una serie di passaggi come indicato di seguito:

  • Job Submission - Invio del JCL a JES.

  • Job Conversion - Il JCL insieme al PROC viene convertito in un testo interpretato per essere compreso da JES e memorizzato in un set di dati, che chiamiamo SPOOL.

  • Job Queuing -JES decide la priorità del lavoro in base ai parametri CLASS e PRTY nell'istruzione JOB (spiegata nel capitolo JCL - Istruzione JOB ). Gli errori JCL vengono controllati e il lavoro viene pianificato nella coda dei lavori se non ci sono errori.

  • Job Execution -Quando il lavoro raggiunge la sua massima priorità, viene avviato per l'esecuzione dalla coda dei lavori. Il JCL viene letto da SPOOL, il programma viene eseguito e l'output viene reindirizzato alla destinazione di output corrispondente come specificato nel JCL.

  • Purging -Quando il lavoro è completo, le risorse allocate e lo spazio JES SPOOL vengono rilasciati. Per memorizzare il registro del lavoro, è necessario copiare il registro del lavoro in un altro set di dati prima che venga rilasciato da SPOOL.