DOS/360 and successors

It used a fixed page table which mapped a single address space of up to 16 megabytes for all partitions combined.

[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.

It introduced a new feature called dynamic partitions which could allow up to 150 concurrent jobs, each in its own address space.

However, while parts of the supervisor run in 64-bit mode, it only provides 31-bit virtual address spaces to problem state applications.

[22] 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.

As a result of the delay, a number of customers implemented DOS systems and committed significant investments to run them.

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 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.

The concept of transient area is part of Mythical Man-Month's discussion on design and the use of main memory.

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.

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.

Installations could define additional private relocatable and source statement libraries on other disk volumes.

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.

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.

All DOS job control statements began with "//" in card columns one and two except end-of-job which was "/&␢", end-of-data, "/*␢", and comments, "*␢".

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

Early DOS included no spooling sub-system to improve the efficiency of punched card and line printer I/O.

Alternatively assembler-language programs could be written as self-relocating, but that imposed additional complexity and a size penalty, albeit a small one.

Assembler programs, on the other hand, tended to utilize those very features more often and usually needed greater modification to run on DOS.

An IBM staffer installing a third-party application running on SSX/VSE, at the IBM Böblingen facility where SSX work was done
IBM 2311 disk drive