Job Entry Subsystem 2/3

Last updated

The Job Entry Subsystem (JES) is a component of IBM's MVS mainframe operating systems that is responsible for managing batch workloads. In modern times, there are two distinct implementations of the Job Entry System called JES2 and JES3. They are designed to provide efficient execution of batch jobs.

Contents

Job processing is divided into several phases to provide parallelism through pipelining. These phases include input processing where jobs are read and interpreted, the execution phase where jobs run, and output processing where job output is printed or stored on DASD. Jobs that are in the same phase of execution are usually said to reside on a particular queue; for example, jobs that are currently executing are on the execution queue.

To improve I/O efficiency, JES performs spooling, which provides multiple jobs with simultaneous access to a common storage volume. JES uses a structure called a checkpoint to backup information about currently executing jobs and their associated output. The checkpoint can be used to restore jobs and output in the event of unexpected hardware or software failures.

Although JES2 and JES3 provide the same core functionality, there are certain features that may be present in one JES but not the other. Because of these differences, one JES may be favored over the other in certain customer installations. JCL is used to define jobs to both JES2 and JES3, but small changes usually need to be made to the JCL to get a job written for one JES to run on the other. A common issue was that JES3 checked that all datasets listed in the JCL existed before execution or that there was a prior step where the dataset was defined as NEW,CATLG. JES2 did not insist on this, allowing the job to run even though it would fail when the step using it failed to find it.

History

Precursors

OS/360's batch job processing had limited operational flexibility and performance, which was addressed by two field-developed packages called the Houston Automatic Spooling Priority (HASP) and the Attached Support Processor (ASP).

HASP

HASP was developed by IBM Federal Systems Division contractors at the Johnson Space Center in Houston. [1] [2] It originally managed job scheduling and print and punch output for a single OS/360 computer. Multi Access Spool capability was added to let peer computers share a common job queue and print/punch output queues.[ citation needed ]

With the introduction of System/370 in 1972, IBM rewrote HASP to become a standard part of the system and renamed it Job Entry Subsystem 2. JES2 was introduced in OS/VS2 in Release 2, also known as MVS, in 1973. [3] It was many years before the HASP labels were removed from the source code, and the messages issued by JES2 are still prefixed with $HASP. Several JES2 commands continue to support specification of either JES2 or HASP to maintain backwards compatibility. [4]

ASP

ASP initially stood for Attached Support Processor, [lower-alpha 1] [5] and was developed to provide efficient use of multiple systems with a shared workload. It allowed one central system to distribute jobs to multiple connected systems; ASP could run a mixture of OS/360, SVS and 7090 emulation on a 360/65 main processor, but only [lower-alpha 2] OS/360 and SVS on other S/360 and S/370 models.. ASP was announced in March 1967, [6] :p.710 and that year was reported to be "running very stably". [7]

ASP evolved from the design of the 7094/7040 Direct Coupled System, using data channel to data channel communication. [8] By attaching an IBM 7040 as a peripheral, processor throughput was more than doubled.[ citation needed ]

In a typical ASP configuration, a small mainframe such as a 360/40 called the support system controlled one or more 360/65 or larger processors called main systems. The computers were connected through selector channels on each host attached to channel-to-channel adapters in an early form of short distance, point-to-point computer networking.

ASP required the purchase of an additional computer to manage input and output of the hosts running the job workload, which was economically justified by the high cost of standalone byte-multiplexor channels needed to drive printers and punched card reader devices;[ citation needed ] the 360/50 and smaller systems had a built-in byte multiplexor channel, whereas the faster 360/65 and larger systems required a relatively expensive standalone unit. Using ASP made it possible to avoid the cost of the byte multiplexor channel, and offloading the job scheduling, print, and card handling also offloaded those functions from the larger machines.[ citation needed ]

Increased reliability was another advantage to offset the added hardware cost.[ citation needed ] One or more main systems could fail or be taken offline for maintenance without taking down the whole complex.

ASP was primarily targeted at large government agencies and defense contractors that might have as many as six 360/65s all being scheduled and managed by a separate ASP machine.[ citation needed ] An uncommon variant, local ASP (LASP), was a single large machine with the ASP functions running on the same machine.

In the 1970s, a notable installation of ASP was at Princeton University controlling an IBM 360/91 mainframe.[ citation needed ]

In 1973, IBM rewrote ASP and renamed it JES3, supporting MVS only. [3]

Alternatives

There was also a JES in OS/VS1 that was often referred to as JES1. [9] [10] In addition, the master (MSTR) subsystem, which is built into MVS, can start jobs that run outside of the control of the primary JES, including the Master Scheduler and the primary JES itself. [11] Originally the JCL for the Master subsystem was in an IBM provided load modules, but in current versions of MVS through z/OS, it can be provided as a member of the system parameter library (PARMLIB).

Customization

Source code was provided to IBM customers for both ASP and HASP, and many customers made substantial enhancements to these programs, some of which were incorporated into the official product.[ citation needed ] Far more installations made use of HASP than ASP, and in contemporary z/OS systems, there are many more JES2 installations than JES3.[ citation needed ] Because of their unique history, IBM continues to ship JES2 and JES3 source code instead of object code, unlike most components of the operating system.[ citation needed ]

To improve maintainability and serviceability of user-written enhancements, JES provides a set of exit points that pass control from the JES to user programs at key points of processing.[ citation needed ] These extensions can provide custom functionality such as special commands, custom print page headings, and non-standard job processing.

Current development

In 2017, IBM released a statement of direction for JES2 to be the "strategic" JES, meaning that all future development efforts will be focused on JES2 rather than JES3. [12] IBM has reassured customers that JES3 will continue to be supported until an end-of-support date is announced. [13] [14] In February 2019, IBM announced that z/OS 2.5 (expected to be released in 2021) will be the last version of z/OS to include JES3. [15] In October 2019, Phoenix Software International announced that it had licensed the JES3 source code from IBM and would be taking over its maintenance and enhancement. [16]

See also

Notes

  1. Eventually renamed to Asymmetric Multiprocessing System
  2. However, OS/360 on the 360/85 and SVS on S/370 supported integrated emulators.

Related Research Articles

<span class="mw-page-title-main">MVS</span> Operating system for IBM mainframes

Multiple Virtual Storage, more commonly called MVS, is the most commonly used operating system on the System/370, System/390 and IBM Z IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated to IBM's other mainframe operating system lines, e.g., VSE, VM, TPF.

<span class="mw-page-title-main">IBM System/370</span> Family of mainframe computers 1970–1990

The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path for customers; this, plus improved performance, were the dominant themes of the product announcement. In September 1990, the System/370 line was replaced with the System/390.

Time Sharing Option (TSO) is an interactive time-sharing environment for IBM mainframe operating systems, including OS/360 MVT, OS/VS2 (SVS), MVS, OS/390, and z/OS.

Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem. The purpose of JCL is to say which programs to run, using which files or devices for input or output, and at times to also indicate under what conditions to skip a step. Parameters in the JCL can also provide accounting information for tracking the resources used by a job as well as which machine the job should run on.

<span class="mw-page-title-main">Spooling</span> Form of multitasking in computers

In computing, spooling is a specialized form of multi-programming for the purpose of copying data between different devices. In contemporary systems, it is usually used for mediating between a computer application and a slow peripheral, such as a printer. Spooling allows programs to "hand off" work to be done by the peripheral and then proceed to other tasks, or to not begin until input has been transcribed. A dedicated program, the spooler, maintains an orderly sequence of jobs for the peripheral and feeds it data at its own rate. Conversely, for slow input peripherals, such as a card reader, a spooler can maintain a sequence of computational jobs waiting for data, starting each job when all of the relevant input is available; see batch processing. The spool itself refers to the sequence of jobs, or the storage area where they are held. In many cases, the spooler is able to drive devices at their full rated speed with minimal impact on other processing.

Remote job entry, or Remote Batch, is the procedure for sending requests for non-interactive data processing tasks (jobs) to mainframe computers from remote workstations, and by extension the process of receiving the output from such jobs at a remote workstation.

<span class="mw-page-title-main">SDSF</span> Component of the z/OS operating system

The System Display and Search Facility (SDSF) is a component of IBM's mainframe operating system, z/OS, is an interactive user interface that allows users and administrators to view and control various aspects of the mainframe's operation and system resources. Some of the information displayed in SDSF includes Batch job output, Unix processes, scheduling environments, and the status of external devices such as printers and network lines, batch and system log files and dumps.

The Houston Automatic Spooling Priority Program, commonly known as HASP, is an extension of the IBM OS/360 operating system and its successors providing extended support for "job management, data management, task management, and remote job entry."

The IBM 2780 and the IBM 3780 are devices developed by IBM to perform remote job entry (RJE) and other batch functions over telephone lines; they communicate with the mainframe via Binary Synchronous Communications and replaced older terminals using synchronous transmit-receive (STR). In addition, IBM has developed workstation programs for the 1130, 360/20, 2922, System/360 other than 360/20, System/370 and System/3.

<span class="mw-page-title-main">OS/VS1</span> IBM operating system

Operating System/Virtual Storage 1, or OS/VS1, is a discontinued IBM mainframe computer operating system designed to be run on IBM System/370 hardware. It was the successor to the Multiprogramming with a Fixed number of Tasks (MFT) option of System/360's operating system OS/360. OS/VS1, in comparison to its predecessor, supported virtual memory. OS/VS1 was generally available during the 1970s and 1980s, and it is no longer supported by IBM.

A Supervisor Call instruction (SVC) is a hardware instruction used by the System/360 family of IBM mainframe computers up to contemporary zSeries, the Amdahl 470V/5, 470V/6, 470V/7, 470V/8, 580, 5880, 5990M, and 5990A, and others; Univac 90/60, 90/70 and 90/80, and possibly others; the Fujitsu M180 (UP) and M200 (MP), and others; and is also used in the Hercules open source mainframe emulation software. It causes an interrupt to request a service from the operating system. The system routine providing the service is called an SVC routine. SVC is a system call.

In IBM mainframe operating systems, Execute Channel Program (EXCP) is a macro generating a system call, implemented as a Supervisor Call instruction, for low-level device access, where the programmer is responsible for providing a channel program—a list of device-specific commands (CCWs)—to be executed by I/O channels, control units and devices. EXCP for OS/360 and successors is more specifically described in the OS System Programmer's Guide.; EXCP for DOS/360 and successors is more specifically described in DOS Supervisor and I/O Macros. This article mostly reflects OS/360 through z/OS; some details are different for TOS/360 and DOS/360 through z/VSE.

The history of IBM mainframe operating systems is significant within the history of mainframe operating systems, because of IBM's long-standing position as the world's largest hardware supplier of mainframe computers. IBM mainframes run operating systems supplied by IBM and by third parties.

<span class="mw-page-title-main">OS/360 and successors</span> Operating system for IBM S/360 and later mainframes

OS/360, officially known as IBM System/360 Operating System, is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was influenced by the earlier IBSYS/IBJOB and Input/Output Control System (IOCS) packages for the IBM 7090/7094 and even more so by the PR155 Operating System for the IBM 1410/7010 processors. It was one of the earliest operating systems to require the computer hardware to include at least one direct access storage device.

The Input/Output Configuration Program is a program on IBM mainframes.

<span class="mw-page-title-main">System Generation (OS)</span> Process for configuring some IBM operating systems

System Generation (SysGen) is a two-stage process for installing or updating OS/360, OS/VS1, OS/VS2 (SVS), OS/VS2 (MVS) and chargeable systems derived from them. There are similar processes for, e.g., DOS/360, which this article does not cover. Also, some of the details have changed between releases of OS/360 and many details do not carry over to later systems.

<span class="mw-page-title-main">OS/VS2 (SVS)</span>

Single Virtual Storage (SVS) refers to Release 1 of Operating System/Virtual Storage 2 (OS/VS2); it is the successor system to the MVT option of Operating System/360. OS/VS2 (SVS) was a stopgap measure pending the availability of MVS, although IBM provided support and enhancements to SVS long after shipping MVS.

Attached Support Processor (ASP) was an implementation of loosely coupled multiprocessing for IBM's OS/360 operating system. IBM later changed the name to Asymmetrical multiProcessor but retained the acronym ASP.

Job Entry Subsystem (JES), aka Job Entry Subsystem 1 (JES1), was released by IBM as an integral part of OS/VS1 as an enhancement to the basic functions that users of VS1's predecessor, MFT, had.

Data Facility Storage Management Subsystem (DFSMS) is a central component of IBM's flagship operating system z/OS. It includes access methods, utilities and program management functions. Data Facility Storage Management Subsystem is also a collective name for a collection of several products, all but two of which are included in the DFSMS/MVS product.

References

  1. IBM (February 26, 1971). The HASP System, February 26, 1971 HASP II (360D-05.1-014) V3M1. Version 3 Modification Level 1.
  2. IBM (September 1976). OS/VS2 HASP II Version 4 User's Guide Program Number 370H-TX-001 VS2 SVS Release 1.7 (PDF). First Edition. GC27-0052-0.
  3. 1 2 IBM Corporation (1973). Introduction to OS/VS2 Release 2 (PDF).
  4. Jeff Frey (2018-04-16). "JES Deathmatch". Terminal Talk (Podcast). Archived from the original on 2018-04-21. Retrieved 2018-04-20.
  5. IBM. IBM System/360 and System/370 Asymmetric Multiprocessing System: General Information Manual, Program Number 360A-CX-15X. GH20-1173.
  6. Pugh; et al. (1991). IBM's 360 and Early 370 Systems. MIT Press. ISBN   9780262517201.
  7. "Representative ASP Installation". Computerworld. September 13, 1967. Retrieved February 7, 2013.
  8. Auslander, M.A.; Larkin, D.C.; Scherr, A.L. (September 1981). "The Evolution of the MVS Operating System" (PDF). IBM Journal of Research and Development. 25 (5): 471–482. doi:10.1147/rd.255.0471. S2CID   16424391. Archived from the original (PDF) on 2019-10-09. Retrieved Oct 8, 2019.
  9. Baily, J.H.; Howard, J.A.; Szcygieldski, T.J. (1974). "The job entry subsystem of OS/VS1". IBM Systems Journal. 13 (3): 253. doi:10.1147/sj.133.0253.
  10. IBM Corporation (1972). OS/Virtual Storage 1 Features Supplement (PDF).
  11. "Master Subsystem" (PDF). OS/VS2 System Logic Library Volume 3 - VS2.03.804 - VS2.03.807 - VS2.03.810 (PDF). Systems (First ed.). IBM. July 1976. pp. 3-169–3-191. 5Y28-0763-0. Retrieved June 12, 2022.
  12. "IBM z/OS Version 2 Release 3 - Engine for digital transformation". IBM. 2017-07-17. Retrieved 2018-05-04. IBM is affirming that JES2 is the strategic Job Entry Subsystem for z/OS.
  13. "Re: IBM to stabilize JES3 (was: IBM to finally drop JES3)". bit.listserv.ibm-main (Mailing list). August 2017. Retrieved 2018-04-20.
  14. Watson, Cheryl (2017-07-27). "IBM's z14 and z/OS 2.3 Announcements". Watson and Walker. Retrieved 2018-04-17.
  15. "Preview: IBM z/OS Version 2 Release 4". www-01.ibm.com. 2019-02-26. Retrieved 2019-05-03.
  16. International, Phoenix Software (2019-10-02). "Phoenix Software International Announces IBM® JES3 Licensing Agreement". GlobeNewswire News Room (Press release). Retrieved 2019-11-01.