OS/360 included
spooling routines, called
reader/interpreters and
output writers. Each reader/interpreter was "responsible for reading one input job stream" – that is one input device. Likewise each output writer was responsible for controlling one printer or
punch. Spooled data were stored in OS
temporary datasets controlled by standard OS services. Each reader/interpreter or output writer was a separate operating system task in its own partition or region. A system with a large number of readers, printers, and punches might have a large number of spooling tasks. HASP was developed by
IBM Federal Systems Division contractors at the
Lyndon B. Johnson Space Center in
Houston. The developers were Tom Simpson and Bob Crabtree. HASP was a program that ran on a mainframe, and performed functions such as:
scheduling, control of job flow,
spooling and printing/punching. HASP had no support for
IBM System/360 Operating System Remote Job Entry, 360S-RC-536, but provided roughly equivalent facilities of its own. In HASP II V3, Roger Fajman, Bill Jones, and Jim Oberthaler of
NIH created the shared spool capability for HASP that was used by many mainframe sites. It allowed each HASP system to share a common spool and checkpoint. This enabled workload balancing in a multi-mainframe environment. In HASP II V4, Don Greb and Dave Miko of
Mellon Bank moved HASP shared spool to this version. Don Greb of Mellon Bank carried it forward into
JES2 multi-access spool (IBM's formal support of HASP in
MVS). Over 350 copies of the HASP II V4 shared spool mods were distributed around the world by Mellon Bank. The shared spool Mellon Mods were added to the SHARE distribution process so they could be more widely accessed. The "Mellon Mods" were the base for Jes/2 Multi Access Spool. The program was sometimes referred to under various other names, but there is no indication of IBM ever using them in official documents. The program became classified as part of the
IBM Type-III Library. It had a competitor,
ASP (Attached Support Processor), which ran on one mainframe and controlled scheduling of other attached mainframes. ASP later became
JES3. In
MVS, HASP became JES2, one of two
Job Entry Subsystems. It was many years before the HASP labels were removed from the JES2 source, and the messages issued by JES2 are still prefixed with "$HASP". A modified version of HASP was used to provide batch spooling and remote job entry services for the
Michigan Terminal System during the late 1960s, 1970s, and 1980s. ==Program organization==