DOS/360 and successors
History of IBM mainframe operating systems |
---|
Disk Operating System/360, also DOS/360, or simply DOS, is the discontinued first member of a sequence of
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
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
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.
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
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/IBM_B%C3%B6blingen_Entwicklung_und_Forschung_briefing_center_during_installation1984.jpg/220px-IBM_B%C3%B6blingen_Entwicklung_und_Forschung_briefing_center_during_installation1984.jpg)
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
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
- core memory and a punched cardreader,
- disk drive,
- DOS/360 for machines with at least 16 KB memory and a disk drive,
- TOS/360 for machines with at least 16 KB memory and a tape drive.[NB 1]
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
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
Hardware requirements
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
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.
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.
- Physical transients were loaded into the 556 byte A-Transient area to handle hardware errors (ERPs), record error-specific data (OBR/MDR) on IJSYSRC, and issue error messages. All A-Transient module names began with $$A.
- Logical transients were loaded into the 1200 byte B-Transient area to provide common program services like OPEN and CLOSE for LIOCS. All B-Transient module names began with $$B.
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
Multiprogramming
Like
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
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
- Sequential data sets were only read or written, one record block at a time from beginning to end.
- In indexed (ISAM) files a specified section of each record was defined as a key which could be used to look up specific records.
- In direct access (.
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 (
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.)
- The
JOB
statement indicates "the beginning of control information for a job." The format is// JOB <jobname> <comments>
. <jobname> must be one to eight alphanumeric characters to identify the job. <comments> are ignored. - The
EXEC
statement identifies a program to be executed as a job step. "All control statements necessary for execution must be processed" before theEXEC
statement is read. The format is// EXEC <program>
- The
PAUSE
statement "can be used to allow for operator action between job steps." The format is// PAUSE <comment>
. The comment is used to provide a message to the operator. - The
comments
statement may be used to display a message to the operator. The format is* <comment>
. - The end of data statement marks the end of data in the input stream. The format is
/*
. Any data on the statement following the blank is ignored. - The end of job statement marks the end of a job, and may indicate the end of data to be flushed if the job terminates abnormally. The format is
/&
. Any data on the statement following the blank is ignored. - The
OPTION
statement specifies values of system options that apply to this job. The format is// OPTION <option1>[,<option2>...]
. - The
ASSGN
statement "is used to assign a logical I/O unit to a physical device." The format is// ASSGN SYSxxx,<device>[,<tape option>]
. SYSxxx indicates a logical unit such as SYS001 or SYSIPT. <device> is either "X'cuu'" to indicate a physical device (channel and unit), "IGN" for ignore, or "UA" for unassigned. <tape option> specifies either tape mode settings such as density, parity, etc., or "ALT" to indicate an alternate device. - The
RESET
statement resets specified I/O unit assignments to their permanent values. The format is// RESET <option>
. <option> may be "SYS" to reset all system logical unit assignments, "PROG" to reset all programmer assignments, "ALL" to reset all assignments, or "SYSxxx" to reset the assignment for the logical unit "SYSxxx", for example SYS002. - The
LISTIO
statement instructs the system to print a listing of all specified I/O assignments currently in effect. The format is// LISTIO <option>
. <option> is "SYS" to list all system assignments, "PROG", "F1", or "F2" to list all assignments for the background or specified foreground partition, "ALL", "SYSxxx", "X'cuu'", "UNITS" to list all assigned units, 'UA" to list all unassigned units, or "DOWN" to list all units marked as inoperative. - The
MTC
statement issues command to a magnetic tape unit. The format is// MTC <opcode>,SYSxxx[,<nn>]
. <opcode> is a function such as "FSF" to forward space one file or "REW" to rewind the tape. <nn> is a number that can specify the number of times the operation is to be performed, such as forward space two files. - The
VOL
statement provides disk or tape volume label information for standard label checking. The format is// VOL SYSxxx,<volume>
. - DOS originally provided the
TPLAB
statement for tape label information and theDLAB
andXTENT
statements for disk label and extent information. At least as early as 1968 theTPLAB
statement had been replaced byTLBL
and theDLAB
statement byDLBL
. These statements used numerous positional parameters and had fairly high information densities.
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
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
References
- ISBN 0-262-16123-0.
– extensive (819 pp.) treatment of IBM's offerings during this period - ^ Pugh, op. cit., p. 331 – most widely used OS
- ^ IBM Corporation (Sep 1967). IBM System/36D Basic Operating System Programmer's Guide (PDF). Retrieved Jan 24, 2022.
- ^ 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...
- ^ "IBM System/360 Disk and Tape Operating Systems Concepts and Facilities" (PDF). October 1970. GC2ij-5030-8.
- ^ "DOS and TOS Utility Programs" (PDF). August 1973. GC24-3465-8.
- ^ Anne and Lynn Wheeler (May 28, 2009). "Re: IBM 1401". [email protected] (Mailing list).
- ^ "IBM Feared Competition to 360/30 CPU". Computerworld. Vol. 11, no. 36. September 5, 1977. pp. 39–40.
- ^ IBM Corporation. "IBM Geschichte im Jahr 1970" (in German). Retrieved May 31, 2012.
- ^ IBM Corporation (1973). Introduction to DOS/VS Release 29.GC33-5370-2
- ^ "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.
- ^ IBM (January 1979). IBM 4300 Processors Principles of Operation for ECPS:VSE Mode (PDF). First edition. SA22-7070-0.
- ^ 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.
- ^ "IBM adds SSX/VSE aid; offers DS/VSE frontend". Computerworld. 18 (40): 46. 1 Oct 1984.
- ^ Paul, Louis (23 Nov 1981). "IBM brings out simplified operating system". Computerworld. 15 (47): 7.
- ^ Blumenthal, Marcia (15 Mar 1982). "IBM yields to Adapso heat, unbundles SSX programs". Computerworld. 16 (11): 1–2.
- ^ IBM Corporation (30 June 1987). "IBM VSE/SYSTEM PACKAGE (VSE/SP), VERSION 3 RELEASE 1.1 ENHANCED AND AVAILABLE". Retrieved June 1, 2011.
- ^ IBM Corporation (5 September 1990). "IBM VSE/ENTERPRISE SYSTEMS ARCHITECTURE VERSION 1 RELEASE 1". Retrieved May 31, 2012.
- ^ "VSE/ESA Version 2 Release 1 and VSE/ESA Languages -- PL/I, COBOL, LE Software Announcement". IBM. 13 September 1994.
- ^ "VSE/ESA Turbo Dispatcher Guide and Reference" (PDF).
- ^ "The z/VSE Turbo Dispatcher". IBM.
- ^ "IBM DOS, DOS/VS, DOS/VSE, VSE/SP, VSE/ESA, z/VSE Customers". VSE-L (Mailing list). November 2, 2011. Retrieved April 25, 2017.
- ^ a b c IBM Corporation (1969). IBM System/360 Disk Operating System: System Generation and Maintenance (PDF).
- ISBN 0-201-00650-2.
- ^ IBM Corporation (1967). System/360 Disk Operating System User's Guide: Control Statement Techniques (PDF).