DOS/360 and successors

Last updated

Disk Operating System/360, also DOS/360, or simply DOS, is the discontinued first member of a sequence of operating systems for IBM System/360, System/370 and later mainframes. It was announced by IBM on the last day of 1964, and it was first delivered in June 1966. [1] In its time, DOS/360 was the most widely used operating system in the world. [2]

Contents

DOS versions

BOS/360

The Basic Operating System (BOS) was an early version of DOS and TOS which could provide usable functionality on a system with as little as 8 KB of main storage and one 2311 disk drive. [3]

TOS/360

TOS/360 (Tape Operating System/360, not a DOS as such and not so called) was an IBM operating system for the System/360, used in the early days around 1965 to support the System/360 Model 30 and similar platforms.

TOS, as per the "Tape" in the name, required a tape drive. It shared most of the code base [4] and some manuals [5] [6] with IBM's DOS/360.

TOS went through 14 releases, and was discontinued [7] [ failed verification ] when disks such as the IBM 2311 and IBM 2314 became more affordable at the time of System/360, [8] [ failed verification ] whereas they had been an expensive luxury on the IBM 7090.

DOS/360

DOS/360 was the primary operating system for most small to midsize S/360 installations.

DOS/VS

DOS/VS was released in 1972. The first DOS/VS release was numbered "Release 28" to signify an incremental upgrade from DOS/360. [9] It added virtual memory in support of the new System/370 series hardware. It used a fixed page table which mapped a single address space of up to 16 megabytes for all partitions combined.

DOS/VS increased the number of partitions (separate simultaneous programs) from three (named Background, Foreground 1 and Foreground 2) to five (BG and F1 through F4) and allowed a system wide total of fifteen subtasks. [10] :pp.24–28

DOS/VS was succeeded by DOS/VSE through z/VSE.

DOS/VSE

DOS/VSE was introduced in 1979 as an "extended" version of DOS/VS to support the new 4300 processors. [11] The 4300 systems included a feature called ECPS:VSE that provided a single-level storage for both the processor and the I/O channels. [12] DOS/VSE provided support for ECPS:VSE, but could also run on a System/370 without that feature. VSE was the last free version of DOS.

VSE/AF

VSE/Advanced Functions [13] (VSE/AF) is a product that adds new device support and functionality to DOS/VSE. Many installations installed VSE/AF using products such as VSE System Installation Productivity Option/Extended (VSE System IPO/E), which combines DOS/VSE, VSE/AF and various other products.

SSX/VSE

An IBM staffer installing a third-party application running on SSX/VSE, at the IBM Boblingen facility where SSX work was done IBM Boblingen Entwicklung und Forschung briefing center during installation1984.jpg
An IBM staffer installing a third-party application running on SSX/VSE, at the IBM Böblingen facility where SSX work was done

SSX/VSE ("Small System Executive") was an attempt by IBM to simplify purchase and installation of VSE by providing a pre-generated system containing the OS and the most popular products. [14] SSX was released in 1982, [15] and later replaced by VSE/SP. SSX was sold by IBM as a bundle of 14 component products (Advanced Functions/VSE, VSE/POWER, ACF/VTAME, VSE/VSAM, CICS/DOS/VS, DOS/VS, Sort/Merge, VSE/ICCF, VSE/OCCF, VSE/IPCS, DOS/COBOL, Back Up/Restore, Space Management, VSE/DITTO), and originally would only agree to offer the individual products separately via RPQ, although IBM later agreed to add those products individually to its price list under pressure from ISVs who claimed that the bundling violated antitrust laws. [16]

VSE/SP

In 1986 IBM released VSE/SP ("System Product") in conjunction with the announcement of the 9370 processors. VSE/SP replaced SSX/VSE and bundled VSE with the most popular VSE program products such as VSE/AF, ACF/VTAM, CICS, and POWER/VS. [17] VSE/SP supported only 24-bit addresses, despite customer requests to provide an XA (31 bit) version.

VSE/ESA

VSE/ESA was a 31-bit DOS/VSE version, which was released in 1990 with support for up to 384 MB of real storage. It provided up to twelve static partitions and allowed VSE/POWER and ACF/VTAM to be run in private address spaces. It introduced a new feature called dynamic partitions which could allow up to 150 concurrent jobs, each in its own address space. [18] Version 1 could run in either ESA or 370 mode, with the ESA mode also supporting XA hardware with limitations. Version 2 (1995) only supported ESA mode with ESA hardware. Version 2 added support for multiprocessing, through the new Turbo Dispatcher, which permits different partitions to execute simultaneously on different processors. A partition can only run on one processor at a time, which mostly limits the multiprocessing to multitasking. Up to ten processors are theoretically supported ("tolerated"), but up to four are effectively utilized. [19] [20] Those limits remain in the last z/VSE. [21]

z/VSE

IBM released z/VSE 3.1 in 2005. This change in naming reflected the new "System z" branding for IBM's mainframe product line, but did not represent a fundamental change in architecture from VSE/ESA 2.7 which preceded it. In particular, it did not support the new 64-bit z/Architecture, running only in 31-bit mode even on 64-bit capable machines. z/VSE 4.1 released in 2007 introduced support for 64-bit real addressing, with up to 8 GB of memory. However, while parts of the supervisor run in 64-bit mode, it only provides 31-bit virtual address spaces to problem state applications. As of 2011 one estimate placed the number of sites using z/VSE at around 4,000. [22]

History

When developing a new hardware generation of unified System/360 (or S/360) computers, IBM had originally committed to delivering a single operating system, OS/360, also compatible with low-end machines; but hardware was already available and the OS/360 project fell further and further behind schedule, as described at length by Fred Brooks in The Mythical Man-Month. IBM was forced to quickly develop four additional systems:

When OS/360 was finally released, a year late, it required at least 64 KB of memory. DOS was designed to use little memory, and could run on 16 KB machines, a configuration available on the low-end S/360 model 30. Unlike OS/360, DOS/360 was initially a single-job system which did not support multitasking. A version with multitasking, supporting up to three memory partitions, requiring 32 KB of memory was later released. Despite its limitations, DOS/360 became the most widely used operating system for processors with less than 256 KB of memory[ citation needed ] because: System/360 hardware sold very well; DOS/360 ran well on System/360 processors which medium-sized organizations could afford; and it was better than the "operating systems" these customers had before.

DOS/360 was the operating system which filled the time gap between the announcement of the System/360 and the availability of the intended operating system, OS/360. As a result of the delay, a number of customers implemented DOS systems and committed significant investments to run them. IBM expected that DOS/360 users would soon upgrade to OS/360, but as a result of those investments, they were reluctant to commit to such conversion. IBM then needed to continue to offer DOS/360 as an additional operating system. The Hacker's Jargon File incorrectly states that GECOS (also known as GCOS) was copied from DOS/360, which was not the case, however the Xerox Data Systems Xerox Operating System (XOS) was intentionally similar to DOS to simplify program porting.

Hardware requirements

IBM 2311 disk drive IBM 2311 memory unit.JPG
IBM 2311 disk drive

DOS/360 required a System/360 CPU (model 25 and above) with the standard instruction set (decimal and floating-point instruction sets optional). The minimum memory requirement was 16 KB; storage protection was required only if multiprogramming was used. A 1052 Model 7 [NB 2] printer-keyboard, either a selector or multiplexor channel, and at least one disk drive was required — initially a 2311 holding 7.25 MB. A card reader, card punch and line printer were usually included, but magnetic tape drives could be substituted. [23] :p.10

A typical configuration might consist of a S/360 model 30 with 32KB memory and the decimal instruction set, an IBM 2540 card reader/card punch, an IBM 1403 printer, two or three IBM 2311 disks, two IBM 2415 magnetic tape drives, and the 1052-7 console.

Technical details

The following description applies to DOS/360 except as otherwise noted. Later versions offer additional functionality.

Because DOS/360 was designed to run on low-end models of System/360 memory usage was a concern. It was possible to generate a DOS supervisor, the resident portion of the operating system, as small as 5902 bytes. [23] :p.297 Detailed charts listed memory requirements for each sysgen option, often as little as 100 bytes. A minimum system would leave just over 10 KB of storage available for a single batch partition which was enough to run utilities and all compilers except COBOL, PL/I, and full FORTRAN IV. To keep memory usage as small as possible, DOS was coded entirely in assembly language.

Transients

The concept of transient area is part of Mythical Man-Month's discussion on design and the use of main memory. [24] To further reduce memory usage, the supervisor employed overlays called transients that were read into one of two reserved transient areas as required.

The use of $$A and $$B prefixes ensured rapid loading of transients because their names were stored first in the directory.

DOS/VS added Machine Check and Channel Check Handlers, which were another set of transients all starting with $$RAST and executing in the Recovery Transient area. This was done as part of the reliability, availability, and serviceability (RAS) enhancements for the System/370. Before this addition, machine checks caused termination of the program running and channel checks caused termination of the program accessing the device, at the time of the error.

Multiprogramming

Like OS/360, initial releases of DOS could run only one program at a time. Later versions of "real" DOS were able to run up to three programs concurrently, in separate memory partitions, supported by the same hardware memory protection features of the more scalable OS/360 operating system. These were identified as BG (background), F1 (foreground 1) and F2 (foreground 2). Multiprogramming was an optional feature of DOS/360, selectable at system generation. [23] :p.34 A later SYSGEN option allowed batch operation run in either FG partition. Otherwise foreground programs had to be manually started by the computer operator.

DOS/VS allowed up to seven concurrent programs, although five or six was a more common number due to the smaller scale of the hardware usually hosting DOS systems. Both DOS and DOS/VS allow the number of partitions to be set at IPL (Initial Program Load), the IBM term for Boot load.

Program libraries

Executable programs were stored in a Core Image Library. While running, DOS could not reclaim space as programs were deleted or replaced with newer versions. When the Core Image Library became full, it had to be compressed by a utility program, and this could halt development work until it was complete. Many shops simply froze changes for a day, compressed the CIL "off-line", and IPLed with the new Core Image Library at the beginning of a business day. A relocatable library for linkable object programs and a source statement library for assembler macros and include text were also supported. Installations could define additional private relocatable and source statement libraries on other disk volumes.

Utilities

DOS/360 had a set of utility programs, an Assembler, and compilers for FORTRAN, COBOL and eventually PL/I, and it supported a 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.

Telecommunications

DOS/360 offered Basic Telecommunications Access Method (BTAM) and Queued Telecommunications Access Method (QTAM). BTAM was primitive and hard to use by later standards, but it allowed communication with almost any type of terminal, which was a big advantage at a time when there was little standardization of communications protocols. The simplicity of its API also allowed the relatively easy interface of external communications processors, which facilitated DOS/360 machines becoming nodes in the multi-tier networks of large organizations. Conversely, QTAM users did not need as much knowledge about individual devices because QTAM operated at the logical level using the OPEN/CLOSE/GET/PUT macros.

Job control

All DOS job control statements began with "//" in card columns one and two except end-of-job which was "/&␢", end-of-data, "/*␢", and comments , "*␢". (In the description that follows the character "" represents a single blank.)

[25]

Differences from OS/360

Job control language

DOS JCL was designed for parsing speed and simplicity; the resulting positional syntax was significantly more cryptic than OS/360 keyword-driven job control.

Spooling

Early DOS included no spooling sub-system to improve the efficiency of punched card and line printer I/O. By the late 1960s both IBM and aftermarket vendors began filling this void. IBM's spooler was an option called POWER, and Software Design, Inc., an independent software company, sold a spooler called GRASP.

Program loading

DOS/360 had no relocating loader, so programmers had to link edit a separate executable version of each program for each partition, or address space, in which the program was likely to be run. Alternatively assembler-language programs could be written as self-relocating, but that imposed additional complexity and a size penalty, albeit a small one. Large DOS shops with multiple machines and multiple partition layouts often wrote their own relocating loader to circumvent this issue.

Application programming interface

The DOS/360 application programming interface was incompatible with OS/360. High level language programs written for DOS needed to be compiled and linked before they could be used with OS/360. Minor differences between compilers of DOS as opposed to OS sometimes required modifications to programs. The port in the other direction however was more challenging. Since OS/360 had significantly more features supported in its API, any use of those features would have to be removed from programs being ported to DOS. This was less of a problem for programmers working in high level languages such as COBOL. Assembler programs, on the other hand, tended to utilize those very features more often and usually needed greater modification to run on DOS.

See also

Notes

  1. DOS/360 and TOS/360 had the same code base; the difference was whether it used disk libraries or tape libraries.
  2. DOS/360 on a S/370 used a 3210 or a 3215 rather than a 1052-7

Related Research Articles

A disk operating system (DOS) is a computer operating system that resides on and can use a disk storage device, such as a floppy disk, hard disk drive, or optical disc. A disk operating system provides a file system for organizing, reading, and writing files on the storage disk, and a means for loading and running programs stored on that disk. Strictly, this definition does not include any other functionality, so it does not apply to more complex OSes, such as Microsoft Windows, and is more appropriately used only for older generations of operating systems.

IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the computer market with the 7000 series and the later System/360, followed by the System/370. Current mainframe computers in IBM's line of business computers are developments of the basic design of the System/360.

<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/360</span> IBM mainframe computer family (1964–1977)

The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applications and a complete range of applications from small to large. The design distinguished between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the only partially compatible Model 44 and the most expensive systems use microcode to implement the instruction set, featuring 8-bit byte addressing and binary, decimal and hexadecimal floating-point calculations.

<span class="mw-page-title-main">VSE (operating system)</span>

VSEn is an operating system for IBM mainframe computers, the latest one in the DOS/360 lineage, which originated in 1965. It is less common than z/OS and is mostly used on smaller machines.

A direct-access storage device (DASD) is a secondary storage device in which "each physical record has a discrete location and a unique address". The term was coined by IBM to describe devices that allowed random access to data, the main examples being drum memory and hard disk drives. Later, optical disc drives and flash memory units are also classified as DASD.

<span class="mw-page-title-main">History of operating systems</span> Aspect of computing history

Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every program needed the full hardware specification to run correctly and perform standard tasks, and its own drivers for peripheral devices like printers and punched paper card readers. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use.

<span class="mw-page-title-main">BOS/360</span> Early IBM System/360 operating system

Basic Operating System/360 (BOS/360) was an early IBM System/360 operating system.

This article presents a timeline of events in the history of computer operating systems from 1951 to the current day. For a narrative explaining the overall developments, see the History of operating systems.

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.

In the context of IBM mainframe computers in the S/360 line, a data set or dataset is a computer file having a record organization. Use of this term began with, e.g., DOS/360, OS/360, and is still used by their successors, including the current z/OS. Documentation for these systems historically preferred this term rather than file.

This article discusses support programs included in or available for OS/360 and successors. IBM categorizes some of these programs as utilities and others as service aids; the boundaries are not always consistent or obvious. Many, but not all, of these programs match the types in utility software.

The IBM Basic assembly language and successors is a series of assembly languages and assemblers made for the IBM System/360 mainframe system and its successors through the IBM Z.

<span class="mw-page-title-main">IBM System/360 Model 30</span> IBM computer model from 1960s

The IBM System/360 Model 30 was a low-end member of the IBM System/360 family. It was announced on April 7, 1964, shipped in 1965, and withdrawn on October 7, 1977. The Model 30 was designed by IBM's General Systems Division in Endicott, New York, and manufactured in Endicott and other IBM manufacturing sites outside of U.S.

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.

Edos is a discontinued operating system based upon IBM's original mainframe DOS. The name stood for extended disk operating system. It was later purchased by the West German computer company Nixdorf, who renamed it to NIDOS.

POWER was an IBM operating system enhancement package that provided spooling facilities for the IBM System/360 running DOS/360 or retrofitted with modified DOS/360. Upgrades, POWER/VS and POWER/VSE were available for and the IBM System/370 running DOS/VS and DOS/VSE respectively. POWER is an acronym for Priority Output Writers, Execution processors and input Readers.

IBM Basic Programming Support/360 (BPS), originally called Special Support, was a set of standalone programs for System/360 mainframes with a minimum of 8 KiB of memory.

References

  1. Pugh, E.W.; Johnson, L.R.; Palmer, John H. (1991). IBM's 360 and early 370 systems. Cambridge, MA and London: MIT Press. ISBN   0-262-16123-0.
    extensive (819 pp.) treatment of IBM's offerings during this period
  2. Pugh, op. cit., p. 331 most widely used OS
  3. IBM Corporation (Sep 1967). IBM System/36D Basic Operating System Programmer's Guide (PDF). Retrieved Jan 24, 2022.
  4. Joe Morris (April 25, 2005). "DOS/360: Forty years". Newsgroup:  alt.folklore.computer. Don't forget TOS, the bastard cousin of DOS. Either could be generated from the same set of distribution libraries...
  5. "IBM System/360 Disk and Tape Operating Systems Concepts and Facilities" (PDF). October 1970. GC2ij-5030-8.
  6. "DOS and TOS Utility Programs" (PDF). August 1973. GC24-3465-8.
  7. Anne and Lynn Wheeler (May 28, 2009). "Re: IBM 1401". ibmvm@listserv.uark.edu (Mailing list).
  8. "IBM Feared Competition to 360/30 CPU". Computerworld. Vol. 11, no. 36. September 5, 1977. pp. 39–40.
  9. IBM Corporation. "IBM Geschichte im Jahr 1970" (in German). Retrieved May 31, 2012.
  10. IBM Corporation (1973). Introduction to DOS/VS Release 29.GC33-5370-2
  11. "The VSE Operating System State of the Union". z/Journal. November 1, 2008. Archived from the original on March 4, 2018. Retrieved September 18, 2019.
  12. IBM (January 1979). IBM 4300 Processors Principles of Operation for ECPS:VSE Mode (PDF). First edition. SA22-7070-0.
  13. VSE/Advanced Functions Program Summary (PDF). IBM. GC33-6157-0. Retrieved January 24, 2022. Together with the DOS/VSE SCP (system control programming), VSE/Advanced Functions provides operating system support for IBM processing units listed in the "Machine Requirements" section.
  14. "IBM adds SSX/VSE aid; offers DS/VSE frontend". Computerworld. 18 (40): 46. 1 Oct 1984.
  15. Paul, Louis (23 Nov 1981). "IBM brings out simplified operating system". Computerworld. 15 (47): 7.
  16. Blumenthal, Marcia (15 Mar 1982). "IBM yields to Adapso heat, unbundles SSX programs". Computerworld. 16 (11): 1–2.
  17. IBM Corporation (30 June 1987). "IBM VSE/SYSTEM PACKAGE (VSE/SP), VERSION 3 RELEASE 1.1 ENHANCED AND AVAILABLE" . Retrieved June 1, 2011.
  18. IBM Corporation (5 September 1990). "IBM VSE/ENTERPRISE SYSTEMS ARCHITECTURE VERSION 1 RELEASE 1" . Retrieved May 31, 2012.
  19. "VSE/ESA Version 2 Release 1 and VSE/ESA Languages -- PL/I, COBOL, LE Software Announcement". IBM. 13 September 1994.
  20. "VSE/ESA Turbo Dispatcher Guide and Reference" (PDF).
  21. "The z/VSE Turbo Dispatcher". IBM.
  22. "IBM DOS, DOS/VS, DOS/VSE, VSE/SP, VSE/ESA, z/VSE Customers". VSE-L (Mailing list). November 2, 2011. Retrieved April 25, 2017.
  23. 1 2 3 IBM Corporation (1969). IBM System/360 Disk Operating System: System Generation and Maintenance (PDF).
  24. F. P. Brooks (1975). The Mythical Man-Month. Addison-Wesley Publishing Company. p. 101. ISBN   0-201-00650-2.
  25. IBM Corporation (1967). System/360 Disk Operating System User's Guide: Control Statement Techniques (PDF).