400 likes | 668 Views
Chapter 9: Batch processing and the Job Entry Subsystem (JES). Batch processing and JES. jkettner@us.ibm.com. Objectives. Be able to: Give an overview of batch processing and how work is initiated and managed in the system.
E N D
Chapter 9: Batch processing and the Job Entry Subsystem (JES) Batch processing and JES jkettner@us.ibm.com
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 a z/OS system. • Workload Manager
batch processing execution initiator job job entry subsystem (JES) output procedure purge queue spool symbolic reference workload manager (WLM) Key terms in this chapter
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.
MVS Batch Job Stream CLASS=? //OPENBATC JOB Start of job IMPORTANT Parameter //S1 EXEC PGM=MVSPROG1 MVS batch program //S2 EXEC PGM=BPXBATCH, OpenMVS batch program // PARM='pgm cprog a1 a2' //S3 EXEC PGM=MVSPROG2 MVS batch program /* // End of job
STEP1 STEP2 STEPn STEP1 STEP2 STEPn STEP1 STEP2 STEPn Batch job Batch job Batch job STEP1 STEP2 STEPn STEP1 STEP2 STEPn STEP1 STEP2 STEPn Batch job Batch job Batch job INPUT Output Processing Example of Batch Processing Express Checkout
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
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.
Reports s1s2s3s4 s1 s2 s3 S4 s5 s6 s7 Tape s1 s2 s3 s4 s5 DISK s1s2s3s4s5 Jobstreams s# = step number BATCH Automated Scheduler Combination of Actions Optical Devices System Actions User Actions
Batch flow (simplified) i.e – 10 initiators = 10 batch jobs can run concurrently.
Sample JES2 Start Procedure PROC00 – default procedure library to be used for converting the JCL PROCxx - other user catalogue procedures lib associated with JOBCLASS initialization HASPPARM – Dataset containing intialization statements that will be used for JES2 initialization and conrolling all JES functions
What is spooling? (Simultaneous Peripheral Operations OnLine) • 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.
JES2 Spool Dataset SDSF.ULOG -$DSPOOL $HASP893 VOLUME(DMPSP1) STATUS=ACTIVE,PERCENT=29 $HASP893 VOLUME(DMPSP2) STATUS=ACTIVE,PERCENT=61 $HASP646 39.7666 PERCENT SPOOL UTILIZATION ******************************* BOTTOM OF DATA ****** Direct Access Devices containing the spool datasets
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.
Display Filter View Print Options Help _______________________________ __________________________________________ SDSF INITIATOR DISPLAY DEMOMVS LINE 1-17 (24) COMMAND INPUT ===> SCROLL ===> PAGE NP ID Status Classes JobName StepName ProcStep JobID C ASID ASIDX 1 ACTIVE A CAESTART *OMVSEX JOB09317 A 233 00E 2 ACTIVE BA APPLY ASNA81 JOB00029 A 42 002 3 INACTIVE CBA 43 002 4 INACTIVE DCBA 44 002 5 INACTIVE DCBA 45 002 6 INACTIVE DCBA 46 002 7 INACTIVE DCBA 47 002 8 INACTIVE DCBA 48 003 9 INACTIVE DCBA 49 003 10 INACTIVE DCBA 50 003 11 ACTIVE I IMSAMSG1 DFSMPR REGION JOB02707 I 51 003 12 ACTIVE I IMSBMSG1 REGION JOB02743 I 52 003 13 ACTIVE I IMSBIFP1 DFSIVA4 IMS81 JOB02745 I 53 003 14 ACTIVE I IMSTMSG1 DFSMPR REGION JOB02799 I 54 003 15 INACTIVE T 55 003 16 INACTIVE A 56 003 17 INACTIVE A 57 003 F1=HELP F2=SPLIT F3=END F4=RETURN F5=IFIND F6=BOOK F7=UP F8=DOWN F9=SWAP F10=LEFT F11=RIGHT F12=RETRIEVE SDSF.INIT /D $DI /D $SPOOL
SDSF.ULOG /$D I • Display Filter View Print Options Help • ------------------------------------------------------------------------------ • SDSF ULOG CONSOLE DNET855 LINE 0 COLUMNS 42- 121 • COMMAND INPUT ===> SCROLL ===> PAGE • ********************************* TOP OF DATA ********************************* • ISF031I CONSOLE DNET855 ACTIVATED • -$DI • $HASP892 INIT(1) • $HASP892 INIT(1) STATUS=ACTIVE,CLASS=A,NAME=1, • $HASP892 ASID=00E9,JOBID=JOB09317 • $HASP892 INIT(2) • $HASP892 INIT(2) STATUS=ACTIVE,CLASS=BA,NAME=2, • $HASP892 ASID=002A,JOBID=JOB00029 • $HASP892 INIT(3) • $HASP892 INIT(3) STATUS=INACTIVE,CLASS=CBA,NAME=3, • $HASP892 ASID=002B • $HASP892 INIT(4) • $HASP892 INIT(4) STATUS=INACTIVE,CLASS=DCBA,NAME=4, • $HASP892 ASID=002C • $HASP892 INIT(5) • $HASP892 INIT(5) STATUS=INACTIVE,CLASS=DCBA,NAME=5, • $HASP892 ASID=002D /$D I
Symbolic references to files • z/OS normally uses symbolic referencesto 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.
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.
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
Phases of job flow: input Internal readers (RDR)
Phases of job flow: conversion Merge w/ Proc Libs
Phases of job flow: execution WLM Initiators Request Initiators - wlm
Phases of job flow: output and hardcopy Sysout dsn processing - classes
Phases of job flow: purge Clears spool
Job flow through the system Overall Flow
JES END /* //
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.
Workload Management Policy for different classes of users Service Level Agreement
Gold customer High Priority Business Partner High Priority Customer care High Priority (Business Hours) OD Insurance SLA Highest (1) = Gold Customer High (2) Customer Care Medium (3) Business Partner Low (4) Casual Customer Lowest (5) Data Analysis Casual customer Low priority Data Analysis (Best can do) Segregate different classes of uses
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.