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 operating systems on early IBM mainframes have seldom been very innovative, except for TSS/360 and virtual machine systems beginning with CP-67. The company's prioritization of backward compatibility has allowed users to adopt new IBM systems more quickly. IBM's current mainframe operating systems, z/OS, z/VM, z/VSE, and z/TPF, are backward compatible successors to those introduced in the 1960s.
Before System/360 IBM was slow to introduce operating systems. General Motors produced General Motors OS in 1955 and GM-NAA I/O in 1956 for use on its own IBM computers; and in 1962 Burroughs Corporation released MCP and General Electric introduced GECOS, in both cases for use by their customers.
The first operating systems for IBM computers were written in the mid-1950s by IBM customers with very expensive machines at , which had sat idle while operators set up jobs manually, and so they wanted a mechanism for maintaining a queue of jobs.
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.
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.
Finally IBM took over the project and supplied an enhanced version called IBSYS with the IBM 7090 and IBM 7094 computers. IBSYS required 8 tape drivesfewer if one or more disk drives are present. Its main components are a card-based Job Control language, which is the main user interface; compilers for FORTRAN and COBOL; an assembler; and various utilities including a sort program.
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.
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.
FORTRAN Monitor System Before IBSYS, IBM produced for its IBM 709, 7090 and 7094 computers a tape-based operating system whose sole purpose was to compile FORTRAN programs. In fact, FMS and the FORTRAN compiler were on the same tape.
Early time-sharing and virtual machine systems
MIT's Fernando Corbató produced the first experimental time-sharing systems, such as CTSS, from 1957 to the early 1960s, using slightly modified IBM 709, IBM 7090, and IBM 7094 mainframes; these systems were based on a proposal by John McCarthy.describes the origins of timesharing In the 1960s IBM's own laboratories created experimental time-sharing systems, using standard mainframes with hardware and microcode modifications to support virtual memory: IBM M44/44X in the early 1960s; CP-40 from 1964 to 1967; CP-67 from 1967 to 1972. The company even released CP-67 without warranty or technical support to several large customers from 1968 to 1972. CP-40 and CP-67 used modified System/360 CPUs, but the M44/44X was based on the IBM 7044, an earlier generation of CPU which was very different internally.Melinda Varian, VM and the VM community, past present, and future, SHARE 89 Sessions 9059-9061, 1977; available online at www.princeton.edu/~melindaCP/CMS and VM history
These experimental systems were too late to be incorporated into the System/360 series which IBM announced in 1964 but encouraged the company to add virtual memory and virtual machine capabilities to its System/370 mainframes and their operating systems in 1972: 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.
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 National CSS and modified the software to increase the number of paying users it could support until the system was sufficiently different that it warranted a new name, VP/CSS. VP/CSS was the delivery mechanism for National CSS' services until the early 1980s, when it switched to IBM's VM/370 (see below).
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.MTS History by Dan Boulet for Everything2.com 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. ORVYL and WYLBUR were developed by Stanford University in 1967-68 for the IBM S/360-67.ORVYL/370 Timesharing System Functional Description, Stanford University, 1978WYLBUR Reference Manual, Stanford University, 1984 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 peripherals such as disk drives. IBM concluded that these factors were increasing its design and production costs for both hardware and software to a level that was unsustainable, and were reducing sales by deterring customers from upgrading. So in 1964, the company announced System/360, a new range of computers which all used the same peripherals and most of which could run the same programs.Chuck Boyer, The 360 Revolution
IBM originally intended that System/360 should have only one batch-oriented operating system, OS/360. There are at least two accounts of why IBM later decided it should also produce a simpler batch-oriented operating system, DOS/360: because it found that OS/360 would not fit into the limited memory available on the smaller System/360 models; or because it realized that the development of OS/360 would take much longer than expected, and introduced DOS/360 as one of a series of stop-gaps to prevent System/360 hardware sales from collapsingthe others were BOS/360 (Basic Operating System, for the smallest machines) and TOS/360 (Tape Operating System, for machines with only tape drives).
System/360's operating systems were more complex than previous IBM operating systems for several reasons, including: They had to support multiprogrammingswitching to run another in-progress application when the current application was blocked waiting for I/O operations (such as disk reads) to complete. Without multiprogramming, the faster 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 bugs. These problems were only magnified because to develop and test System/360 operating systems on real hardware, IBM first had to develop Basic Programming Support/360 (BPS/360). BPS was used to develop the tools needed to develop DOS/360 and OS/360, as well as the first versions of tools it would supply with these operating systemscompilers for FORTRAN and COBOL, utilities including Sort, and above all the assembler it needed to build all the other software.
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: Basic Operating System/360 (BOS/360), which loaded from a disk drive or tape drive and supported tape drives and a few disks. This system was supplied to beta test customers and may have been an early version of DOS/360. TOS/360, which was designed to provide an upgrade path for customers who had IBM 1401 computers with tape drives and no disks. DOS/360, which was built by the developers of BOS/360 and TOS/360 (IBM's small business computers division) and went on to become a mainstream operating system whose descendant z/VSE is still widely used. Operating System/360 (OS/360) with only the Primary Control Program (PCP) option, which didn't support multiprogramming.
When IBM announced the S/360-67 it also announced a timesharing operating system, TSS/360, that would use the new virtual memory capabilities of the 360/67. TSS/360 was late and early releases were slow and unreliable. By this time the alternative operating system CP-67, developed by IBM's Cambridge Scientific Center, was running well enough for IBM to offer it "without warranty" as a timesharing facility for a few large customers. CP-67 would go on to become 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.