User:Yaswanthfru/Difference between jes2 and jes3

JES2 compared to JES3

1) JES3 allocates datasets for all the steps before the job is scheduled. In JES2, allocation of datasets required by a step are done only just before the step executes.

2) JES3 system: An MVS subsystem that receives jobs into the system,converts them to internal format, selects them for execution, processes their output, and purges them from the system. In complexes that have several loosely coupled processing units, the JES3 program manages processors so that the global processor exercises centralized control over the local processors and distributes jobs to them via a common job queue.

JES2 system: An MVS subsystem that receives jobs into the system, converts them to internal format, selects them for execution, processes their output, and purges them from the system. In an installation with more than one processor, each processor's JES2 subsystem independently controls job input, scheduling, and output processing.

3)JES3 allocates the resources before the job execution where as the JES2 allocates the resources as per the step execution of the job.

Some additional information:

IBM® provides two kinds of job entry subsystems: JES2 and JES3. In many cases, JES2 and JES3 perform similar functions, but most installations use JES2.

Both JES2 and JES3 read jobs into the system, convert them to internal machine-readable form, select them for processing, process their output, and purge them from the system.

Some principle differences between the two JES systems include: In a mainframe installation that has only one processor, JES3 provides tape setup, dependent job control, and deadline scheduling for users of the system, while JES2 in the same system would require its users to manage these activities through other means. In an installation with a multiprocessor configuration, there are noticeable differences between the two, mainly in how JES2 exercises independent control over its job processing functions. That is, within the configuration, each JES2 processor controls its own job input, job scheduling, and job output processing. In cases where multiple z/OS® systems are clustered (a sysplex), it is possible to configure JES2 to share spool and checkpoint data sets with other JES2 systems in the same sysplex. This configuration is called Multi-Access Spool (MAS). In contrast, JES3 exercises centralized control over its processing functions through a single global JES3 processor. This global processor provides all job selection, scheduling, and device allocation functions for all of the other JES3 systems. With JES3, installations may decide whether the global JES3 or z/OS base control program will handle device allocation. With JES2, only the z/OS base control program handles device allocation. ________________________________________________________________________________________________

What is JES?

z/OS® uses a job entry subsystem or JES to receive jobs into the operating system, to schedule them for processing by z/OS, and to control their output processing. JES is the component of the operating system that provides supplementary job management, data management, and task management functions such as scheduling, control of job flow, and the reading and writing of input and output streams on auxiliary storage devices, concurrently with job execution. z/OS manages work as tasks and subtasks. Both transactions and batch jobs are associated with an internal task queue that is managed on a priority basis. JES is a component of z/OS that works on the front end of program execution to prepare work to be executed. JES is also active on the back end of program execution to help clean up after work is performed. This activity includes managing the printing of output generated by active programs. More specifically, JES manages the input and output job queues and data. For example, JES handles the following aspects of batch processing for z/OS: •	Receiving jobs into the operating system •	Scheduling them for processing by z/OS •	Controlling their output processing z/OS has two versions of job entry systems: JES2 and JES3. Of these, JES2 is the most common by far. JES2 and JES3 have many functions and features, but their most basic functions are as follows: •	Accept jobs submitted in various ways: o	From ISPF through the SUBMIT command o	Over a network o	From a running program, which can submit other jobs through the JES internal reader o	From a card reader (very rare!) •	Queue jobs waiting to be executed. Multiple queues can be defined for various purposes. •	Queue jobs for an initiator, which is a system program that requests the next job in the appropriate queue. •	Accept printed output from a job while it is running and queue the output. •	Optionally, send output to a printer, or save it on spool for PSF, InfoPrint, or another output manager to retrieve. JES uses one or more disk data sets for spooling, which is the process of reading and writing input and output streams on auxiliary storage devices, concurrently with job execution, in a format convenient for later processing or output operations. Spool is an acronym that stands for simultaneous peripheral operations online. JES combines multiple spool data sets (if present) into a single conceptual data set. The internal format is not in a standard access-method format and is not written or read directly by applications. Input jobs and printed output from many jobs are stored in the single (conceptual) spool data set. In a small z/OS system, the spool data sets might be a few hundred cylinders of disk space; in a large installation, they might be many complete volumes of disk space.

What is batch processing?

Jobs that can run without end user interaction, or can be scheduled to run as resources permit, are called batch jobs. Batch processing is for those frequently used programs that can be executed with minimal human interaction. A program that reads a large file and generates a report, for example, is considered to be a batch job. The term batch job originated in the days when punched cards contained the directions for a computer to follow when running one or more programs. Multiple card decks representing multiple jobs would often be stacked on top of one another in the hopper of a card reader, and be run in batches.

What does an initiator do?

An initiator performs several functions to ensure that multiple jobs run at the same time, without conflicts. To run multiple jobs asynchronously, the system must perform a number of functions: •	Select jobs from the input queues (JES does this). •	Ensure that multiple jobs (including TSO users and other interactive applications) do not conflict in data set usage. •	Ensure that single-user devices, such as tape drives, are allocated correctly. •	Find the executable programs requested for the job. •	Clean up after the job ends and then request the next job. Most of this work is done by the initiator, based on JCL information for each job. The most complex function is to ensure there are no conflicts due to data set utilization. For example, if two jobs try to write in the same data set at the same time (or one reads while the other writes), there is a conflict. This event would normally result in corrupted data. The primary purpose of JCL is to tell an initiator what is needed for the job. The prevention of conflicting data set usage is critical to z/OS® and is one of the defining characteristics of the operating system. When the JCL is properly constructed, the prevention of conflicts is automatic. For example, if job A and job B must both write to a particular data set, the system (through the initiator) does not permit both jobs to run at the same time. Instead, whichever job starts first causes an initiator attempting to run the other job to wait until the first job completes.