Chapter 7: Batch processing and the Job Entry Subsystem (JES)
Chapter 7 objectives Be able to: Give an overview of batch processing and how work is initiated and managed in the system. Explain how the job entry subsystem (JES) governs the flow of work through h a z/os system. 2
Key terms in this chapter batch processing procedure execution purge initiator queue job spool job entry subsystem (JES) symbolic reference output workload manager (WLM) 3
What is batch processing? Much of the work running on z/os consists of programs called batch jobs. Batch processing is used for programs that can be executed: With minimal human interaction At a scheduled time or on an as-needed basis. After a batch job is submitted to the system for execution, there is normally no further human interaction with the job until it is complete. 4
What is JES? In the z/os operating system, JES manages the input and output job queues and data. JES handles the following aspects of batch processing for z/os: Receives jobs into the operating system Schedules them for processing by z/os Controls their output processing 5
What is JES? (continued) z/os offers two types: JES2 and JES3 Some important differences, but both JES2 and JES3: Accept and queue jobs submitted for execution Queue jobs for an initiator -- a JES program that requests the next job in the queue Accept output from a job while it is running and queue the output Can print the output, or save it on spool for an output manager to retrieve. 6
What is JES? (continued) 7
Batch flow (simplified) JCL Processing JOBs submit JES SPOOL Initiator Initiator - Allocation t - Execution - Allocation - Cleanup - Execution - Cleanup Printer 8
What is spooling? Spooling is a method for queuing and holding data for input or output. JES uses one or more disk data sets for spooling. Input jobs and printed output from many jobs are stored in the single (conceptual) spool data set. 9
What an initiator does To run multiple jobs asynchronously, z/os uses initiators to: Ensure that jobs do not conflict in data set usage Ensure that single-user devices (tape drives) are allocated correctly Find executable programs requested by jobs Clean up after the job ends and request the next job Preventing two users from accessing the same data at the same time is critical to z/os and the ability to do this is one of the defining characteristics of the operating system. 10
Symbolic references to files z/os normally uses symbolic references to files (data sets) rather than actual file names. The use of symbolic references provides a naming redirection between a data set-related name used in a program and the actual data set used during execution of that program. 11
How a symbolic file system is used DDNAME DSNAME program OPEN FILE=XYZ READ FILE=XYZ... CLOSE FILE=XYZ JCL for JOB //XYZ DD DSNAME=MY.PAYROLL MY.PAYROLL 12
How a symbolic file system is used (continued) DDNAME DSNAME program OPEN FILE=XYZ READ FILE=XYZ... CLOSE FILE=XYZ JCL for JOB //XYZ DD DSNAME=DIV1.PAYROLL DIV1.PAYROLL 13
JES, job management, and JCL Job control language (JCL) is the language used by a batch job to request resources and services from the operating system. Through JCL, you specify: Who you are (important for security reasons). Which resources (programs, files, memory) and services are needed from the system to process your program. The use of JCL is covered in detail in the next module. 14
Related actions with JCL IT USER ACTIONS SYSTEM ACTIONS Determine the need and characteristics of the Job Create the JCL Submit the Job JES interprets JCL and passes it to z/os initiator System Messages z/os manages each step of execution User views and interprets output JES prints output JES collects the output and information about the Job 15
Spooling JCL program read 2 JES 1 //DD1 DD *... data... spool /* //DD2 DD SYSOUT=A SYSOUT JES 4 write 3 Printer 16
Two-step job First step Second step Master Updates Master Program Program Tape Master Printer 17
Job flow through the system During execution, a job goes through the following phases: Input Conversion Processing Output Print (to hardcopy or a console display) Purge 18
Phases of job flow: input JOB CONVERSION INPUT CONVERSION PROCESSING HARD-COPY PURGE OUTPUT JCL & SYSIN SPOOL DISK 19
Phases of job flow: conversion JOB CONVERSION EXECUTION INPUT CONVERSION PROCESSING HARD-COPY PURGE OUTPUT JCL SPOOL DISK 20
Phases of job flow: execution JOB EXECUTION OUTPUT INPUT CONVERSION PROCESSING HARD-COPY PURGE OUTPUT SYSIN SYSOUT SPOOL DISK 21
Phases of job flow: output and hardcopy JOB OUTPUT HARD-COPY PURGE INPUT CONVERSION PROCESSING HARD-COPY PURGE OUTPUT SYSOUT SPOOL DISK NON-PRINT/PUNCH OUTPUT 22
Phases of job flow: purge JOB PURGE INPUT CONVERSION PROCESSING HARD-COPY PURGE OUTPUT SPOOL DISK 23
Job flow through the system JOB CONVERSION EXECUTION OUTPUT HARD-COPY PURGE INPUT CONVERSION PROCESSING HARD-COPY PURGE OUTPUT SYSIN SYSOUT SYSOUT JCL & SYSIN JCL SPOOL DISK Network job entry (NJE) 24
JES2 compared to JES3 In a multi-processor configuration: i JES2: Each JES2 processor controls its own job input, job scheduling, and job output processing. It is possible to configure JES2 to share spool and checkpoint data sets with other JES2 systems (multi-access spool or MAS). JES3: Centralized control over processing through a single global JES3 processor, which h does job selection, scheduling, and device allocation the other JES3 systems. The centralized control of JES3 provides increased job scheduling control, deadline scheduling capabilities, and increased control by providing its own device allocation. Most installations use JES2, as do the examples in this text. 25
What is workload manager? Workload manager (WLM): The component of z/os that manages the processing of workload in the system according to the company s business goals, such as response time. Also manages the use of system resources, such as processors and storage, to accomplish these goals. 26
Summary Batch processing is a fundamental function of z/os. z/os shares with JES the management of jobs and resources. JES receives jobs into the system, schedules them for processing, and controls their output. JES manages jobs in queues. An initiator sets up the necessary environment for running a batch job. Multiple initiators permit the parallel execution of batch jobs. During the life of a job, both JES and the z/os base control program control different phases of the overall processing. 27