History of IBM mainframe operating systems

Source: Wikipedia, the free encyclopedia.

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.

The

backward compatible
successors to those introduced in the 1960s.

Before System/360

IBM was slow to introduce operating systems.

MCP and General Electric introduced GECOS, in both cases for use by their customers.[1][2]

The first operating systems for IBM computers were written in the mid-1950s by IBM customers with very expensive machines at US$2,000,000 (equivalent to about $23,000,000 in 2023), which had sat idle while operators set up jobs manually, and so they wanted a mechanism for maintaining a queue of jobs.[3]

These operating systems run only on a few processor models and are suitable only for scientific and engineering calculations. Other IBM computers or other applications function without operating systems. But one of IBM's smaller computers, the IBM 650, introduced a feature which later became part of OS/360, where if processing is interrupted by a "random processing error" (hardware glitch), the machine automatically resumes from the last checkpoint instead of requiring the operators to restart the job manually from the beginning.[4]

From General Motors GM-NAA I/O to IBSYS

General Motors Research division produced GM-NAA I/O for its IBM 701 in 1956 (from a prototype, GM Operating System, developed in 1955), and updated it for the 701's successor. In 1960 the IBM user association SHARE took it over and produced an updated version, SHARE Operating System.[3]

Finally IBM took over the project and supplied an enhanced version called

FORTRAN and COBOL; an assembler; and various utilities including a sort program.[5][6]

In 1958, the University of Michigan Executive System adapted GM-NAA I/O to produce UMES, which was better suited to the large number of small jobs created by students. UMES was used until 1967 when it was replaced by the MTS timesharing system.[7]

BESYS

Bell Labs produced BESYS (sometimes referred to as BELLMON) and used it until the mid-1960s. Bell also made it available to others without charge or formal technical support.[8][3]

FORTRAN Monitor System

Before IBSYS, IBM produced for its

FORTRAN programs. In fact, FMS and the FORTRAN compiler were on the same tape.[9][10]

Early time-sharing and virtual machine systems

IBM 7044, an earlier generation of CPU which was very different internally.[15][16][17]

These experimental systems were too late to be incorporated into the

System/370 mainframes and their operating systems in 1972:[15]

  • The M44/44X showed that a partial approach to virtual machines was not good enough and that thrashing could severely reduce the speed of virtual memory systems. Thrashing is a condition in which the system runs very slowly because it spends a lot of its time shuffling virtual memory pages between physical memory and disk files.
  • IBM learned from CP-40 and CP-67: how to make the thrashing problem manageable; that its other virtual memory and virtual machine technologies were sufficiently fast and reliable to be used in the high-volume commercial systems which were its core business. In particular, IBM's David Sayre convinced the company that automated virtual memory management could consistently perform at least as well as the best programmer-designed overlay schemes.[18]

In 1968 a consulting firm called Computer Software Systems used the released version of CP-67 to set up a commercial time-sharing service. The company's technical team included 2 recruits from MIT (see CTSS above), Dick Orenstein and Harold Feinleib. As it grew, the company renamed itself

VM/370 (see below).[19][20]

Universities produced three other S/360 time-sharing operating systems in the late 1960s:

  • The Michigan Terminal System (MTS) was developed in 1967 by a consortium of universities led by the University of Michigan. All versions ran on IBM's mainframes which had virtual memory capability, starting with the S/360-67. MTS remained in use until 1999.[21]
  • McGill University in Montreal started developing MUSIC (McGill University System for Interactive Computing) in 1969. MUSIC was enhanced several times and eventually supported text searches, web publishing and email as well as software development. MUSIC was marketed by IBM mainly to educational institutions as a cost-effective operating system for its hardware, and eventually became an IBM Systems Product (MUSIC/SP or Multi-User System for Interactive Computing / System Product) in 1985. The last official version was released in 1999.[22]
  • ORVYL and WYLBUR were developed by Stanford University in 1967-68 for the IBM S/360-67.[23][24] They provided some of the first time-sharing capabilities on IBM S/360 computers.

System/360 operating systems

Up to the early 1960s, IBM's low-end and high-end systems were incompatible, so programs could not easily be transferred from one to another, and the systems often used completely different

System/360, a new range of computers which all used the same peripherals and most of which could run the same programs.[26]

IBM originally intended that System/360 should have only one

DOS/360
:

System/360's operating systems were more complex than previous IBM operating systems for several reasons, including:[28]

  • They had to support
    CPUs
    in the range would have spent most of their time idle, waiting for slow I/O operations. Hence, the operating systems had to be the real masters of the systems, to provide whatever services the applications validly requested, and to handle crashes or misbehavior in one application without stopping others that were running at the same time.
  • They had to support a much wider range of machine sizes. Memory ranged from 16 KB to 1 MB and processor speeds from a few thousand instructions per second to 500,000.
  • They had to support a wide range of application requirements. For example, some applications only needed to read through sequential files from start to finish; others needed fast, direct access to specific records in very large files; and a few applications spent nearly all their time doing calculations, with very little reading or writing of files.

This made the development of OS/360 and other System/360 software one of the largest software projects anyone had attempted, and IBM soon ran into trouble, with huge time and cost overruns and large numbers of

FORTRAN and COBOL, utilities including Sort, and above all the assembler it needed to build all the other software.[30]

IBM's competitors took advantage of the delays in OS/360 and the System/360 to announce systems aimed at what they thought were the most vulnerable parts of IBM's market. To prevent sales of System/360 from collapsing, IBM released four stop-gap operating systems:[26]

When IBM announced the

VM/370 and eventually z/VM
. IBM ultimately offered three releases of a TSS/370 PRPQ as a migration path for its TSS/360 customers, and then dropped it.

The traumas of producing the System/360 operating systems gave a boost to the emerging discipline of

Frederick P. Brooks, who was a senior project manager for the whole System/360 project and then was given specific responsibility for OS/360 (which was already long overdue), wrote an acclaimed book, The Mythical Man-Month, based on the problems encountered and lessons learned during the project, two of which were:[33]

DOS/360

While OS/360 was the preferred operating system for the higher-end System/360 machines,

FORTRAN and COBOL. Support for RPG[34][35] came later, and eventually a PL/I subset. And it supported a useful range of file organizations with access methods
to help in using them:

Sequential and ISAM files could store either fixed-length or variable-length records, and all types could occupy more than one disk volume.

DOS/360 also offered

BTAM
, a data communications facility that was primitive and hard to use by today's standards. But BTAM could communicate with almost any type of terminal, which was a big advantage at a time when there was hardly any standardization of communications protocols.

But DOS/360 had significant limitations compared with

OS/360
, which was used to control most larger System/360 machines:

IBM expected that DOS/360 users would soon upgrade to OS/360, but despite its limitations, DOS/360 became the world's most widely used operating system because:

DOS/360 ran well on the System/360 processors which medium-sized organizations could afford, and it was better than the "operating systems" these customers had before. As a result, its descendant

z/VSE is still widely used today, as of 2005.[27]

OS/360

Multiprogramming with a Variable number of Tasks") were used until at least the late 1970s, a good five years after their successors had been launched.[38]
It is unclear whether the divisions among PCP, MFT and MVT arose because MVT required too much memory to be usable on mid-range machines or because IBM needed to release a multiprogramming version of OS (MFT) as soon as possible.

PCP, MFT, and MVT had different approaches to managing memory (see below), but provided very similar facilities:

  • The same
    application programming interface (API), so application programs could be transferred among PCP, MFT, and MVT without even needing re-compilation
    .
  • The same JCL, which was more flexible and easier to use than that of DOS/360.
  • The same facilities (
    BTAM
    ).
  • An additional file structure, partitioned, and access method (
    BPAM
    ), which was mainly used for managing program libraries. Although partitioned files needed to be compressed to reclaim free space, this seldom halted development work as it did with DOS/360's Core Image Library, because PCP, MFT, and MVT allowed an indefinite number of partitioned files, and each project generally had at least one.
  • A file naming system allowing files to be managed as hierarchies, such as PROJECT.USER.FILENAME.
  • A spooling facility (which DOS/360 lacked).
  • Applications could create sub-tasks, which allowed
    multiprogramming
    within the one job.

Experience indicated that it was not advisable to install OS/360 on systems with less than 256 KB of memory,[30] which was a common limitation in the 1960s.

MFT

When installing MFT, customers would specify up to four partitions of memory with fixed boundaries, in which application programs could be run simultaneously.[39] MFT Version II (MFT-II) raised the limit to 52.

MVT

MVT was considerably larger and more complex than MFT and therefore was used on the most powerful System/360 CPUs. It treated all memory not used by the operating system as a single pool from which contiguous "regions" could be allocated as required by an indefinite number of simultaneous application programs. This scheme was more flexible than MFT's and in principle used memory more efficiently, but was liable to

fragmentation – after a while one could find that, although there was enough spare memory in total to run a program, it was divided into separate chunks none of which was large enough.[31]
: 372–373 

In 1971 the

VTAM
from the late 1970s onwards.

TP monitors

System/360's hardware and operating systems were designed for processing batch jobs which in extreme cases might run for hours. As a result, they were unsuitable for transaction processing, in which there are thousands of units of work per day and each takes between 30 seconds and a very few minutes. In 1968 IBM released IMS to handle transaction processing, and in 1969 it released CICS, a simpler transaction processing system which a group of IBM's staff had developed for a customer. IMS was only available for OS/360 and its successors, but CICS was also available for DOS/360 and its successors.[40][41] For many years this type of product was known as a "TP (teleprocessing) monitor". Strictly speaking TP monitors were not operating system components but application programs which managed other application programs. In the 1970s and 1980s, several third-party TP monitors competed with CICS (notably COM-PLETE, DATACOM/DC, ENVIRON/1, INTERCOMM, SHADOW II, TASK/MASTER and WESTI), but IBM gradually improved CICS to the point where most customers abandoned the alternatives.[42][43]

Special systems for airlines

In the 1950s airlines were expanding rapidly but this growth was held back by the difficulty of handling thousands of bookings manually (using card files). In 1957 IBM signed a development contract with

System/360
computers.

In SABRE and early versions of PARS there was no separation between the application and operating system components of the software, but in 1968 IBM divided it into PARS (application) and

z/TPF
.

IBM developed ACP and its successors because: in the mid-1960s IBM's standard operating systems (

IMS and CICS
, which run under the control of standard general-purpose operating systems, are not fast enough for handling reservations on hundreds of flights from thousands of travel agents.

The last "public domain" version of ACP, hence its last "free" version, was ACP 9.2, which was distributed on a single

mini-reel
with an accompanying manual set (about two dozen manuals, which occupied perhaps 48 lineal inches of shelf space) and which could be restored to IBM 3340 disk drives and which would, thereby, provide a fully functional ACP system.

ACP 9.2 was intended, primarily, for bank cards like MasterCard and other financial applications, but it could also be utilized for airline reservation systems, too, as by this time ACP had become a more general-purpose OS.

ACP had by then incorporated a hypervisor module (CHYR) which supported a virtual OS (usually VS1, but possibly also VS2) as a guest, with which program development or file maintenance could be accomplished concurrently with the online functions.

In some instances, production work was run under VS2 under the hypervisor, including, possibly, IMS DB.

System/360 Model 20

The

System/3
range of small business computers in 1969 and System/3 had a different internal design from the 360/20 and different peripherals from IBM's mainframes.

System/360 Model 44

The

floating point numbers, such as geological or meteorological analyses. Because of the internal differences and the specialized type of work for which it was designed, the 360/44 has its own operating system, PS/44.[45]
An optional feature allows a System/360 emulator to run in hidden storage and implement the missing instructions in order to run OS/360. The 360/44 and PS/44 have no direct successors.

System/370 and virtual memory operating systems

System/370 was announced in 1970 with essentially the same facilities as System/360 but with about 4 times the processor speeds of similarly-priced System/360 CPUs.[46] Then in 1972 IBM announced "System/370 Advanced Functions", of which the main item was that future sales of System/370 would include virtual memory capability and this could also be retro-fitted to existing System/370 CPUs. Hence IBM also committed to delivering enhanced operating systems which could support the use of virtual memory.[47][48]

Most of the new operating systems are distinguished from their predecessors by the presence of "/VS" in their names. "VS" stands for "Virtual Storage". IBM avoided the term "virtual memory", allegedly because the word "memory" might be interpreted to imply that IBM computers could forget things.

All modern IBM mainframe operating systems except

ACP
, the system which IBM initially developed to support high-volume airline reservations applications.

DOS/VS

DOS/360
, and offers similar facilities, with the addition of virtual memory. In addition to virtual memory DOS/VS provided other enhancements:

  • Five memory partitions instead of three. Later releases increase this to seven.
  • A relocating loader, so that it is no longer necessary to link-edit a separate copy of each program for each partition in which it is to run.
  • An improved spooling component, POWER/VS.

DOS/VS was followed by significant upgrades: DOS/VSE and VSE/SP (1980s), VSE/ESA (1991), and

z/VSE (2005).[49][50]

OS/VS1

OS/VS1 succeeded MFT, with similar facilities, and adding virtual memory.[31] IBM released fairly minor enhancements of OS/VS1 until 1983, and in 1984 announced that there would be no more. OS/VS1 and TSS/370 are the only IBM[51] System/370 operating systems that do not have modern descendants.

The Special Real Time Operating System (SRTOS), Programming RPQ Z06751, is a variant of OS/VS1 extended to support real-time computing. It was targeted at such industries as electric utility energy management and oil refinery applications.[52]

OS/VS2 and MVS

OS/VS2 Release 1 (SVS) is a replacement for MVT with virtual memory. There are many changes, but it retains the overall structure of MVT.

In 1974 IBM released what it described as OS/VS2 Release 2 but which is a major rewrite that was upwards-compatible with the earlier OS/VS2 SVS. The new system's most noticeable feature is support for multiple virtual address spaces. Different applications thought they were using the same range of virtual addresses, but the new system's virtual memory facilities mapped these to different ranges of real memory addresses.[31] As a result, the new system rapidly became known as "MVS" (Multiple Virtual Storages), the original OS/VS2 became known as "SVS" (Single Virtual Storage). IBM itself accepted this terminology and labelled MVS's successors "MVS/...".[53]

The other distinctive features of MVS are: its main catalog must be a

VSAM catalog; it supports "tightly-coupled multiprocessing"
(2 or more CPUs share the same memory and copy of the operating system); it includes a System Resources Manager (renamed Workload Manager in later versions) which allows users to load additional work on to the system without reducing the performance of high-priority jobs.

IBM has released several MVS upgrades:

MVS/ESA (1985), OS/390 (1996) and currently z/OS (2001).[54]

VM/370

VM/370 combines a virtual machine facility with a single-user system called Conversational Monitor System (CMS); this combination provides time-sharing by allowing each user to run a copy of CMS on a virtual machine. This combination was a direct descendant of CP/CMS.[55] The virtual machine facility was often used for testing new software while normal production work continues on another virtual machine, and the CMS timesharing system was widely used for program development.[56]

VM/370 was followed by a series of upgrades: VM/SEPP ("Systems Extensions Program Product"), VM/BSEPP ("Basic Systems Extensions Program Product"), VM/SP (System Product), VM/SP HPO ("High Performance Option"), VM/XA MA ("Extended Architecture Migration Aid"), VM/XA SF ("Extended Architecture System Facility"), VM/XA SP ("Extended Architecture System Product"), VM/ESA ("Enterprise Systems Architecture"), and z/VM. IBM also produced optional microcode assists for VM and successors, to speed up the hypervisor's emulation of privileged instructions (those which only operating systems can use) on behalf of "guest" operating systems. As part of 370/Extended Architecture, IBM added the Start Interpretive Execution (SIE) instruction[57] to allow a further speedup of the CP hypervisor.[58]

See also

References

  1. ^ "Timeline of Computer History: 1956: Software". Computer History Museum. Retrieved September 4, 2007.
  2. ^ "OS History - MCP". www.oshistory.net. Archived from the original on February 21, 2009.
  3. ^ a b c "A Brief History of Linux". Archived from the original on 2017-11-07. Retrieved 2017-11-04.
  4. ^ "IBM 650". IBM Archives. 23 January 2003. Retrieved 6 November 2017.
  5. ^ "7090/94 IBSYS Operating System". www.frobenius.com. Archived from the original on 21 December 2007. Retrieved 6 November 2017.
  6. ^ Gray, George (March 1999). "EXEC II". Unisys History Newsletter. 1 (3). Archived from the original on August 9, 2017.
  7. .
  8. ^ Vyssotsky, V.; Pierce, E. (Jan 1985). "Putting Unix in Perspective". Unix Review. 1 (3).
  9. ^ Conrad Weisert (March 25, 2007). "Reminiscences of Fortran". Information Disciplines, Inc. Retrieved 6 November 2017.
  10. .
  11. ^
    Spring Joint Computer Conference
    .
  12. ^ a b c "Compatible Time-Sharing System (1961-1973) Fiftieth Anniversary Commemorative Overview" (PDF). 2011.
  13. timesharing
  14. ^ McCarthy, John (January 1, 1959). "A Time-Sharing Operator Program for our Projected IBM 709".
  15. ^ .
  16. .
  17. ^ Melinda Varian, VM and the VM community, past present, and future, SHARE 89 Sessions 9059-9061, 1977; available online at www.princeton.edu/~melinda – CP/CMS and VM history
  18. ^ Denning, Peter (1997). "Before Memory was Virtual". In the Beginning: Recollections of Software Pioneers.
  19. ^ Luanne Johnson (December 23, 2004). "Company Details - National CSS". Computer History Museum. Retrieved January 30, 2007.
  20. ^ Feinleib, Harold (March 2005). A technical history of National CSS (PDF). Computer History Museum.
  21. ^ MTS History by Dan Boulet for Everything2.com
  22. ^ "MUSIC/SP Operating System - Introduction". webpages.mcgill.ca. Retrieved 6 November 2017.
  23. ^ ORVYL/370 Timesharing System Functional Description, Stanford University, 1978
  24. ^ WYLBUR Reference Manual, Stanford University, 1984
  25. ^ "Mainframe family tree and chronology". IBM Archives. 23 January 2003. Retrieved 6 November 2017.
  26. ^ a b c Chuck Boyer, The 360 Revolution
  27. ^
    OCLC 56140149. Archived from the original
    on March 4, 2009.
  28. ^ .
  29. ^ a b IBM Corporation (1965). IBM System/360 Basic Programming Support and IBM Basic Operating System/360 Programming Systems Summary (PDF). IBM Systems Reference Library. C24-3420-0.
  30. ^ a b Ray Saunders. "MVS... And Before OS/360 ?". Archived from the original on 2007-12-20.
  31. ^
    S2CID 249618
    .
  32. ^ "The IBM 360/67 and CP/CMS". www.multicians.org. Retrieved 6 November 2017.
  33. .
  34. ^ Catalog of Copyright Entries. Third Series: 1971: January-June. 1973.
  35. ^ IBM System/360 and System/370 Bibliography (PDF). IBM. March 1971. GA22-6822.
  36. ADP
    Newsletter cited on page 56 in Weiss, Eric A., ed. (1969). Computer Usage Essentials. McGraw-Hill.
    LCCN 71-76142
    .
    shows sales of the 360/ "20 .. 33.6%, 30 .. 36%, 40 .. 22.6%" = 92.2%
  37. ^ IBM S/360 Functional Characteristics manuals of the respective models
  38. ^ "The midseventies SHARE survey". Archived from the original on 2008-05-12.
  39. ^ IBM System/360 Operating System Multiprogramming With a Fixed Number of Tasks (MFT) Concepts and Considerations (PDF). First Edition. IBM. October 1966. GC27-6926-0.
  40. ^ K. R. Blackman (1998). "Technical Note -- IMS celebrates thirty years as an IBM product". IBM Journal of Research & Development. 37 (4). Archived from the original on January 24, 2000.
  41. ^ "IBM CICS – z Systems". www-306.ibm.com. Retrieved 6 November 2017.
  42. ^ "Linking Applications to Adabas". Archived from the original on May 22, 2008. Retrieved July 8, 2008. – lists the major 1970s-1980s TP monitors
  43. ^ Hugo, I. (November 15, 1989). "Metier the model, but few followed - UK software industry". Software Magazine. Retrieved July 8, 2008.
  44. ^ "History of IBM Deutschland Entwicklung GmbH - 1960s". Archived from the original on 2007-05-04.
  45. ^ "Computer History: IBM 360/370/3090/390 Model Numbers". www.beagle-ears.com. Retrieved 6 November 2017.
  46. ^ "System/370 Announcement". IBM. June 30, 1970.
  47. ^ "DPD chronology (1970–1974)". IBM. 23 January 2003. DPD = Data Processing Division, which was responsible for IBM's medium and large systems.
  48. ISBN 978-0-262-16123-7.{{cite book}}: CS1 maint: multiple names: authors list (link
    )
  49. ^ "IBM: z/VSE Operating System - History - 1980s". www-03.ibm.com. 15 September 2008. Retrieved 6 November 2017.
  50. ^ "IBM: z/VSE Operating System - History - 1990s". www-03.ibm.com. 15 September 2008. Retrieved 6 November 2017.
  51. ^ Non-IBM S/370 operating systems such as MTS also have no successors
  52. ^ IBM Corporation (January 1976). IBM System/370 Special Real Time Operating System Programming RPQ Z06751 Description and Operation Manual (PDF).
  53. ^ "3033 Technical press release". IBM Archives. March 25, 1977. Retrieved 6 November 2017.
  54. ^ "MVS Operating System". Operating System documentation project. Retrieved 6 November 2017.
  55. .
  56. .
  57. ^ 370/Extended Architecture/Interpretive Execution. IBM. SA22-7095.
  58. S2CID 8971003
    .

Further reading

External links