JES : Job Entry Subsystem
In this MainFrame tutorial, you will learn about JES : Job Entry Subsystem, Job Scheduler, types of JES, HASP, ASP, Job management of MVS, General Phases in a Job viz Input, Conversion, Processing, Output, Print and Purge.
Job Entry Subsystems:
JES is an MVS component which keeps track of jobs that enter the system. The job entry subsystem also called as JES in short is used by MVS operating system. The JES is the component which presents jobs for MVS processing and sends the job’s spooled output back to the correct destination. A JOB is the execution of one or more related programs in sequence. Each program to be executed by a JOB is called a JOB STEP.
Types of JES:
There are two main types in this as given below:
This is the acronym for Houston Automatic Spooling Program. It is otherwise called as JES2.
This is the acronym for Asymmetric Multiprocessing system. It is otherwise called as JES3. This system is more suitable for shops with more than one processor.
It is vital that a user must know that each MVS system can use JES2 or JES3 but not both.
Job management of MVS:
The task of job management of MVS is taken care by two main resources:
- JES and
- Base control program of MVS.
Here the former job entry subsystem also called as JES in short takes up the task of managing jobs before and after running the program. The latter base control program takes the task of managing the job during processing.
General Phases in a Job:
The phases through which a job generally flows through starting from input stage till final stage are given below:
The HASP otherwise called as JES2 accepts jobs as input stream. The ability of JES2 is to accept multiple jobs at the same time. Before JES2 accept the jobs it is obvious that user has to submit the jobs. This process of submitting jobs can be done using programs and commands to JES2.We will see about commands in JES2 in detail in our coming sections. The jobs submitted is accepted as input stream by JES2 and a job identifier given to each JOB JCL statement with all jobs, JCL commands and statements being placed in spool data sets from which job is selected by JES2 for further processing.
In the process the jobs are processed and fine tuned for execution. That is to say in detail JES2 uses converter program which associates the JCL statements placed in JOB statement with JCL in procedure library. This merged JCL is then converted into a combined JCL as text by JES2. If there is no errors detected in JCL by JES2 the jobs are queued in spool date set for further processing and execution. If errors were detected by JES2 then appropriate messages are placed and the job is queued for processing and not for execution.
In this the jobs that were placed in the previous phase in the jobs queue are taken by JES2 and sent to initiators and these are defined using JES2 initialization statements which we will see in detail in our JES2 commands section. The processing by initiators is based on various priorities of class assigned and the priority of queued jobs.
All the output produced in system by jobs also called as SYSOUT in short is controlled and monitored by JES2. In this phase the output activities like printing of datasets, output device handling, system messages to be outputted are all handled by JES2.The dataset which is to be outputted having same characteristics are grouped together by JES2 for printing.
In this phase the output dataset generated by earlier output phase are processed by JES2. Here the output is selected for processing by JES2 based on priority, output class mentioned on JCL. After JES2 process the output of job it places the job in purge queue for next phase to take over.
In the purge phase since the job is completed processed and output is printed in earlier phases the spool space occupied by the corresponding completed job is released and this space is made available for future job allocation. Then message is sent to user regarding this activity.
The above phases are the general process through which a job normally passes through. In batch processing of jobs to record the status of a job at any particular time concepts of checkpoints takes place. It is possible to place various checkpoints as needed by user which helps to record the status of job at these points and also helps to restart the job from that job step in case of ending of job due to any error.