JES : Job Entry Subsystem
Job Entry Subsystem (JES) is a subsystem of the OS/390 and MVS mainframe operating systems that manages jobs (units of work) that the system does. Each job is described to the operating system by system administrators or other users in job control language (JCL). The operating system then sends the job to the JES program. The JES program receives the job, performs the job based on priority, and then purges the job from the system.
A D V E R T I S E M E N T
There are two versions, JES2 and JES3. JES3 allows central control of the processing of jobs using a common work queue. Both OS/390 and MVS provide an interactive menu for initiating and managing jobs.
JES2 (Job Entry Subsystem 2) is descended from HASP, the Houston Automated Spooling Program, developed by the programmers of IBM as self-initiative and eventually owned and supported by IBM for NASA in the mid 1960s. JES3 (Job Entry Subsystem 3) is similarly descended from the Attached Support Processor (ASP), which was IBM's initially-preferred system for OS/360 "unit record I/O". In the 1970s a notable installation of ASP was at Princeton University controlling an IBM 360/91 mainframe.
JES3 has more network style dependency than JES2; as networking and inter-system dependencies have developed, this has become more practical than the single platform environment and single task processes that JES2 addresses.
HASP is defined as: a computer program that provides supplementary job management, data management, and task management functions such as: scheduling, control of job flow, and spooling. HASP remains within JES2 subsystem as the prefix of most module names and the prefix of all messages sent by JES to the operator. JES2 is a functional extension of the HASP II program that receives jobs into the system and processes all output data produced by the job.
Simply stated, JES is a task that runs under MVS which provides the necessary functions to get jobs into, and output out of, the MVS system, and to control the scheduling of their execution. It is designed to provide efficient spooling, scheduling, and management facilities for the MVS operating system. But none of this explains why MVS needs JES. Basically, by separating job processing into a number of tasks, MVS operates more efficiently. At any point in time, the computer system resources are busy processing the tasks for individual jobs, while other tasks are waiting for those resources to become available. In its most simple view, MVS divides the management of jobs and resources between the JES and the base control program of MVS. In this manner, the JES manages jobs before and after running the program; the base control program manages them during processing.