Job Entry Subsystem 2/3
{{short description|Component of the z/OS operating system}}
{{More citations needed|date=January 2022}}
The Job Entry Subsystem (JES) is a component of IBM's MVS (MVS/370 through z/OS) 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. Starting with z/OS 3.1, released in September 2023, IBM z/OS no longer includes JES3, and comes with JES2 only – JES3 sites must either migrate to JES2, or license JES3plus from Phoenix Software International, who has taken over future support and development of JES3 from IBM.{{Cite web |last=Temel |first=Meral |date=September 11, 2023 |title=z/OS 3.1 Update |url=https://www.ibm.com/support/pages/system/files/inline-files/Tech%20Byte%20zOS%203.1%20Update.pdf |access-date=2025-01-27 |website=IBM}}
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 ==
{{Main|Houston Automatic Spooling Priority}}
HASP was developed by IBM Federal Systems Division contractors at the Johnson Space Center in Houston. 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|date=May 2018}}
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. 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.
== ASP ==
{{main|Attached Support Processor}}{{More citations needed section|date=January 2022}}
ASP initially stood for Attached Support Processor,{{efn|Eventually renamed to Asymmetric Multiprocessing System}} 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{{efn|However, OS/360 on the 360/85 and SVS on S/370 supported integrated emulators.}} OS/360 and SVS on other S/360 and S/370 models.. ASP was announced in March 1967,{{rp|p.710}} and that year was reported to be "running very stably".
ASP evolved from the design of the 7094/7040 Direct Coupled System, using data channel to data channel communication.{{cite journal |last1=Auslander |first1=M.A. |last2=Larkin |first2=D.C. |last3=Scherr |first3=A.L. |title=The Evolution of the MVS Operating System |journal=IBM Journal of Research and Development |date=September 1981 |volume=25 |issue=5 |pages=471–482 |url=https://pdfs.semanticscholar.org/a8e4/4d068a376c42513a4e10d6a751702710afee.pdf |archive-url=https://web.archive.org/web/20191009002342/https://pdfs.semanticscholar.org/a8e4/4d068a376c42513a4e10d6a751702710afee.pdf |url-status=dead |archive-date=2019-10-09 |accessdate=Oct 8, 2019 |doi=10.1147/rd.255.0471|s2cid=16424391 }} By attaching an IBM 7040 as a peripheral, processor throughput was more than doubled.{{citation needed|date=May 2018}}
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|date=May 2018}} 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|date=May 2018}}
Increased reliability was another advantage to offset the added hardware cost.{{citation needed|date=May 2018}} 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|date=May 2018}} 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|date=May 2018}}
In 1973, IBM rewrote ASP and renamed it JES3, supporting MVS only.
= Alternatives =
There was also a JES in OS/VS1 that was often referred to as JES1. 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.{{cite manual
| title = OS/VS2 System Logic Library Volume 3 - VS2.03.804 - VS2.03.807 - VS2.03.810
| id = 5Y28-0763-0
| date = July 1976
| edition = First
| section = Master Subsystem
| section-url = http://bitsavers.org/pdf/ibm/370/OS_VS2/PLM/SY28-0763-0_OS_VS2_System_Logic_Library_Vol_3_Rel_3.7_Jul76.pdf#page=343
| pages = 3-169-3-191
| url = http://bitsavers.org/pdf/ibm/370/OS_VS2/PLM/SY28-0763-0_OS_VS2_System_Logic_Library_Vol_3_Rel_3.7_Jul76.pdf
| access-date = June 12, 2022
| publisher = IBM
| series = Systems
}}
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|date=May 2018}} 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|date=May 2018}} 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|date=May 2018}}
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|date=May 2018}} 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. IBM has reassured customers that JES3 will continue to be supported until an end-of-support date is announced. 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.{{Cite web|url=https://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/2/877/ENUSZP19-0012/index.html&request_locale=en#availx|title=Preview: IBM z/OS Version 2 Release 4|date=2019-02-26|website=www-01.ibm.com|language=en-US|access-date=2019-05-03|archive-url=https://web.archive.org/web/20210123212905/https://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/2/877/ENUSZP19-0012/index.html&request_locale=en#availx|archive-date=2021-01-23}} 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.{{Cite press release|url=http://www.globenewswire.com/news-release/2019/10/02/1924179/0/en/Phoenix-Software-International-Announces-IBM-JES3-Licensing-Agreement.html|title=Phoenix Software International Announces IBM® JES3 Licensing Agreement|last=International|first=Phoenix Software|date=2019-10-02|website=GlobeNewswire News Room|access-date=2019-11-01}}
See also
- System Display and Search Facility (SDSF) most common utility to interact with JES2
Notes
{{notelist|group=nb}}
References
{{Reflist|refs=
{{cite news
|title=Representative ASP Installation
|url=https://news.google.com/newspapers?id=-qsnAAAAIBAJ&sjid=clQDAAAAIBAJ&pg=3799%2C222384|accessdate=February 7, 2013|newspaper=Computerworld
|date=September 13, 1967
}}
{{cite book
|last=IBM Corporation
|title=OS/Virtual Storage 1 Features Supplement
|year=1972
|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/OS_VS1/GC20-1752-0_OS_VS1_Features_Supplement_Aug72.pdf
}}
{{cite manual
|author = IBM
|title = OS/VS2 HASP II Version 4 User's Guide Program Number 370H-TX-001 VS2 SVS Release 1.7
|id = GC27-0052-0
|url = http://www.bitsavers.org/pdf/ibm/370/hasp/GC27-0052-0_HASP_II_Version_4_Users_Guide_Sep76.pdf
|version = First Edition
|date = September 1976}}
{{cite manual
|author = IBM
|title = IBM System/360 and System/370 Asymmetric Multiprocessing System: General Information Manual, Program Number 360A-CX-15X
|id = GH20-1173}}
{{cite manual
|author = IBM
|title = The HASP System, February 26, 1971 HASP II (360D-05.1-014) V3M1
|version = Version 3 Modification Level 1
|date = February 26, 1971
|ref = 360D-05.1-014}}
{{cite web
|url=https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS217-246&appname=USN
|title=IBM z/OS Version 2 Release 3 - Engine for digital transformation
|publisher=IBM
|quote=IBM is affirming that JES2 is the strategic Job Entry Subsystem for z/OS.
|date=2017-07-17
|accessdate=2018-05-04
}}
|last1=Baily
|first1=J.H.
|last2=Howard
|first2=J.A.
|last3=Szcygieldski
|first3=T.J.
|title=The job entry subsystem of OS/VS1
|year=1974
|journal=IBM Systems Journal
|volume=13
|issue=3
|pages=253
|url=http://domino.research.ibm.com/tchjr/journalindex.nsf/e90fc5d047e64ebf85256bc80066919c/f3b0bdc1a575f74885256bfa00685ab0?OpenDocument
|doi=10.1147/sj.133.0253
|access-date=2013-02-11
|archive-date=2016-03-03
|archive-url=https://web.archive.org/web/20160303194306/http://domino.research.ibm.com/tchjr/journalindex.nsf/e90fc5d047e64ebf85256bc80066919c/f3b0bdc1a575f74885256bfa00685ab0?OpenDocument
|url-status=dead
|url-access=subscription
}}
|title=JES Deathmatch
|website=Terminal Talk
|host=Jeff Frey
|date=2018-04-16
|access-date=2018-04-20
|url=http://terminaltalk.net/PodcastGenerator/?name=episode_44_-_adam_and_katie_-_jes_deathmatch_-_4.16.2018.mp3
|archive-date=2018-04-21
|archive-url=https://web.archive.org/web/20180421030437/http://terminaltalk.net/PodcastGenerator/?name=episode_44_-_adam_and_katie_-_jes_deathmatch_-_4.16.2018.mp3
|url-status=dead
}}
{{cite mailing list
|title=Re: IBM to stabilize JES3 (was: IBM to finally drop JES3)
|date=August 2017
|accessdate=2018-04-20
|mailing-list=bit.listserv.ibm-main
|url=https://groups.google.com/forum/#!topic/bit.listserv.ibm-main/wfmGCGckxvA
}}
{{cite book
|last=Pugh
|title=IBM's 360 and Early 370 Systems
|year=1991
|publisher=MIT Press
|isbn=9780262517201
|url=http://mitpress.mit.edu/books/ibms-360-and-early-370-systems|display-authors=etal
|archive-url=https://web.archive.org/web/20130212020152/http://mitpress.mit.edu/books/ibms-360-and-early-370-systems
|archive-date=2013-02-12
}}
{{cite book
|last=IBM Corporation
|title=Introduction to OS/VS2 Release 2
|year=1973
|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/370/OS_VS2/Release_2_1973/GC28-0661-1_Introduction_to_OS_VS2_Release_2_Mar73.pdf
}}
{{cite web
|url=http://watsonwalker.com/ibms-z14-zos-2-3-announcements/
|title=IBM's z14 and z/OS 2.3 Announcements
|last=Watson
|first=Cheryl
|website=Watson and Walker
|date=2017-07-27
|access-date=2018-04-17
}}
}}
External links
- {{cite manual
| series = z/OS Basic Skills Information Center
| title = z/OS concepts
| section = What is JES?
| pages=80–81
| publisher = IBM
| url = https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zconcepts/zconcepts_book.pdf
| mode = cs2
}}
- {{cite manual
| series = z/OS Basic Skills Information Center
| title = z/OS concepts
| section = JES2 Compared to JES3
| pages=91–92
| publisher = IBM
| url = https://www.ibm.com/support/knowledgecenter/zosbasics/com.ibm.zos.zconcepts/zconcepts_book.pdf
| mode = cs2
}}
{{DEFAULTSORT:Job Entry Subsystem 2 3}}