OS/360, officially known as IBM System/360 Operating System,
is a discontinued
batch processing
Computerized batch processing is a method of running software programs called jobs in batches automatically. While users are required to submit the jobs, no other interaction by the user is required to process the batch. Batches may automatically ...
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
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
Input/Output Control System (IOCS) is any of several packages on early IBM entry-level and mainframe computers that provided low level access to records on peripheral equipment. IOCS provides functionality similar to 1960s packages from other v ...
(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
[Just a few years after ]Atlas Supervisor
The Atlas Supervisor was the program which managed the allocation of processing resources of Manchester University's Atlas Computer so that the machine was able to act on many tasks and user programs concurrently.
Its various functions includ ...
, Burroughs MCP and GECOS
General Comprehensive Operating System (GCOS, ; originally GECOS, General Electric Comprehensive Operating Supervisor) is a family of operating systems oriented toward the 36-bit GE/Honeywell mainframe computers.
The original version of GCOS wa ...
operating systems to require the computer hardware to include at least one
direct access storage device
A direct-access storage device (DASD) (pronounced ) 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, t ...
.
Although OS/360 itself was discontinued, successor operating systems, including the
virtual storage MVS and the
64-bit
In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit CPUs and ALUs are those that are based on processor registers, address buses, or data buses of that size. A compu ...
z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
* ...
, are still run and maintain application-level compatibility with OS/360.
Overview
IBM announced three different levels of OS/360, generated from the same tapes and sharing most of their code. IBM eventually renamed these options and made some significant design changes:
* Single Sequential Scheduler (SSS)
** Option 1
** Primary Control Program (PCP)
* Multiple Sequential Schedulers (MSS)
** Option 2
** Multiprogramming with a Fixed number of Tasks (MFT)
** MFT II
* Multiple Priority Schedulers (MPS)
** Option 4
** VMS
[VMS was unrelated to the VMS system for the DEC ]VAX
VAX (an acronym for Virtual Address eXtension) is a series of computers featuring a 32-bit instruction set architecture (ISA) and virtual memory that was developed and sold by Digital Equipment Corporation (DEC) in the late 20th century. The V ...
.
** Multiprogramming with a Variable number of Tasks (MVT)
** Model 65 Multiprocessing (M65MP)
Users often coined nicknames, e.g., "Big OS", "OS/MFT", but none of these names had any official recognition by IBM.
IBM provided OS/360 as a set of libraries on tape that the installation had to restore to
DASD
A direct-access storage device (DASD) (pronounced ) 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, ...
in order to perform a
system generation
In computing system generation or sysgen is the process of creating a particular unique instance of an operating system by combining user-specified options and parameters with manufacturer-supplied general-purpose program code to produce an oper ...
. IBM also offered a set of optional source tapes that the installation could use to modify and assemble modules that IBM normally provided as object code. In addition, IBM offered
microfiche
Microforms are scaled-down reproductions of documents, typically either films or paper, made for the purposes of transmission, storage, reading, and printing. Microform images are commonly reduced to about 4% or of the original document size. F ...
that had assembly listing of the basic program material and of subsequent service.
Program Temporary Fix In IBM terminology, a Program temporary fix or Product temporary fix (PTF), sometimes depending on date, is a single bug fix, or group of fixes, distributed in a form ready to install for customers.
A PTF normally follows an APAR (Authorized Progra ...
es were not available as source code. IBM continued distributing source code until it imposed an Object Code Only (OCO) policy for licensed software.
The other major operating system for System/360 hardware was
DOS/360.
OS/360 is in the
public domain
The public domain (PD) consists of all the creative work to which no exclusive intellectual property rights apply. Those rights may have expired, been forfeited, expressly waived, or may be inapplicable. Because those rights have expired, ...
and can be downloaded freely. As well as being run on actual System/360 hardware, it can be executed on the free
Hercules emulator
Hercules is a computer emulator allowing software written for IBM mainframe computers (System/370, System/390, and zSeries/System z) and for plug compatible mainframes (such as Amdahl machines) to run on other types of computer hardware, not ...
, which runs under most
UNIX
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
and
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems including
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
,
Solaris, and
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
, as well as
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ser ...
. There are OS/360 turnkey CDs that provide pregenerated OS/360 21.8 systems ready to run under Hercules.
Origin
IBM originally intended that System/360 should have only one batch-oriented
[IBM eventually provided interactive facilities for OS/360, e.g., CRJE, ITF, TSO.] operating system, OS/360,
capable of running on machines as small as 32 KiB.
[IBM failed to meet this goal, and OS/360 required 44 KiB for even limited production.] It also intended to supply a separate
timesharing operating system,
TSS/360
The IBM Time Sharing System TSS/360 is a discontinued early time-sharing operating system designed exclusively for a special model of the System/360 line of mainframes, the Model 67. Made available on a trial basis to a limited set of custom ...
, for the
System/360 Model 67. There are at least two accounts of why IBM eventually decided to produce other, simpler batch-oriented operating systems:
* because it found that the "approximately 1.5 million instructions that enable the system to operate with virtually no manual intervention" comprising 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.
IBM introduced a series of stop-gaps to prevent System/360 hardware sales from collapsing—first
Basic Programming Support (BPS) and
BOS/360
Basic Operating System/360 (BOS/360) was an early IBM System/360 operating system.
Origin
BOS was one of four System/360 Operating System versions developed by the IBM General Products Division (GPD) in Endicott, New York to fill a gap at th ...
(Basic Operating System, for the smallest machines with 8K byte memories), then
TOS/360 (Tape Operating System, for machines with at least 16K byte memories and only tape drives), and finally
DOS/360 (Disk Operating System), which became a mainstream operating system and is the ancestor of today's widely used
z/VSE
VSEn (''Virtual Storage Extended'') is an operating system for IBM mainframe computers, the latest one in the DOS/360 lineage, which originated in 1965.
DOS/VSE was introduced in 1979 as a successor to DOS/VS; in turn, DOS/VSE was succeeded by ...
.
IBM released three variants of OS/360: PCP (Primary Control Program), a stop-gap which could run only one job at a time, in 1966; MFT (
Multiprogramming
In computing, multitasking is the concurrent execution of multiple tasks (also known as processes) over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result ...
with Fixed number of Tasks) for the mid-range machines, and MVT (Multiprogramming with Variable number of Tasks) for the top end. MFT and MVT were used until at least 1981, a decade after their successors had been launched.
The division between MFT and MVT arose because of storage limitations and scheduling constraints. Initially IBM maintained that MFT and MVT were simply "two configurations of the
OS/360
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 ...
control program", although later IBM described them as "separate versions of OS/360".
IBM originally wrote OS/360 in
assembly language. Later on, IBM wrote some OS/360 code in a new language,
Basic Systems Language (BSL), derived from PL/I. A large amount of the TSO code in Release 20 was written in BSL.
TSS/360 was so late and unreliable that IBM canceled it, although IBM later supplied three releases of the TSS/370 PRPQ. By this time
CP-67
CP-67 was the ''control program'' portion of CP/CMS, a virtual machine operating system developed for the IBM System/360-67 by IBM's Cambridge Scientific Center. It was a reimplementation of their earlier research system CP-40, which ran on a on ...
was running well enough for IBM to offer it without warranty as a timesharing facility for a few large customers.
[The IBM 360/67 and CP/CMS](_blank)
/ref>
OS/360 variants
These three options offered such similar facilities that porting applications between them usually required minimal effort; the same versions of IBM Program Products, application and utility
As a topic of economics, utility is used to model worth or value. Its usage has evolved significantly over time. The term was introduced initially as a measure of pleasure or happiness as part of the theory of utilitarianism by moral philosoph ...
software ran on both. The text below mostly treats ''PCP'', ''MFT'' and ''MVT'' as simply new names for the original ''SSS'', ''MSS'' and ''MPS'', although there were some design changes. Also, the text does not distinguish between M65MP and MVT.
Officially, PCP, MFT and MVT are not separate operating systems from OS/360, they are only install-time configuration options—in today's words, three different variants of the OS Nucleus and Scheduler. However, because of quite different behavior and memory requirements, users commonly consider them de facto separate operating systems and refer to them as "early OS/360", "OS/MFT", "OS/MVT", respectively. MFT differs from MVT mainly in the way in which it manages memory: when installing MFT, customers specify in the ''system generation
In computing system generation or sysgen is the process of creating a particular unique instance of an operating system by combining user-specified options and parameters with manufacturer-supplied general-purpose program code to produce an oper ...
'' (SysGen) a fixed[The operator could manually change them by entering a DEFINE command from an operator console, but the system did not automatically adjust them to match the workload.] number of '' partitions'', areas of memory with fixed boundaries, in which application programs can be run simultaneously.
PCP
Primary Control Program (PCP) was intended for machines with small memories. It is similar to MFT[But not to MFT II] with one partition
Partition may refer to:
Computing Hardware
* Disk partitioning, the division of a hard disk drive
* Memory partition, a subdivision of a computer's memory, usually for use by a single job
Software
* Partition (database), the division of a ...
. Experience indicated that it was not advisable to install OS/360 on systems with less than 128 KiB of memory, although limited production use was possible on much smaller machines, such as 48 KiB of memory. IBM dropped the PCP option in the final releases of OS/360, leaving only MFT II and MVT, both of which required more memory.
Also referred to as SYS=MIN in macro expansions that were system-dependent.
MFT
Multiprogramming with a Fixed number of Tasks (MFT) was intended to serve as a stop-gap until Multiprogramming with a Variable number of Tasks (MVT), the intended target configuration of OS/360, became available in 1967. Early versions of MVT had many problems, so the simpler MFT continued to be used for many years. After introducing new System/370
The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path ...
machines with virtual memory in 1972, IBM developed MFT 2 into OS/VS1
Operating System/Virtual Storage 1, or OS/VS1, is a discontinued IBM mainframe computer operating system designed to be run on IBM System/370 hardware. It was the successor to the Multiprogramming with a Fixed number of Tasks (MFT) option of Sys ...
, the last system of this particular line.
The first version of MFT shared much of the code and architecture with PCP, and was limited to four partitions. It was very cumbersome to run multiple partitions. Many installations used Houston Automatic Spooling Priority
The Houston Automatic Spooling Priority Program, commonly known as HASP, is an extension of the IBM OS/360 operating system and its successors providing extended support for "job management, data management, task management, and remote job entry ...
(HASP) to mitigate the complexity.
MFT Version II (MFT-II) shared much more of the Control Program and Scheduler code with MVT, and was much more flexible to run. The maximum number of partitions increased to 52.
Later modifications of MFT-II added ''sub-tasking'', so that the fixed number of tasks was no longer fixed, although the number of partitions did remain a limitation.
Experience indicated that it was not advisable to install MFT on systems with less than 256 KiB of memory, which in the 1960s was quite a large amount.
Also referred to as SYS=INT in macro expansions that were system-dependent.
MVT
Multiprogramming with a Variable number of Tasks (MVT) was the most sophisticated of three available configurations of OS/360
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 ...
's control program, and one of two available configurations in the final releases. MVT was intended for the largest machines in the System/360 family. Introduced in 1964, it did not become available until 1967. Early versions had many problems and the simpler MFT continued to be used for many years. Experience indicated that it was not advisable to install MVT on systems with less than 512 KiB of memory
MVT treated all memory not used by the operating system as a single pool from which contiguous ''regions'' could be allocated as required by an unlimited[Subject to resource availability, e.g., memory for a region, protection key for an application region.] number of simultaneous application and systems 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. System/360 lacked memory relocation hardware so memory compaction could not be used to reduce fragmentation. A facility called Rollout/Rollin could swap a running job out to secondary storage to make its memory available to another job. The rolled-out job would, however, have to be ''rolled-in'' to the original memory locations when they again became available.
In 1971 the Time Sharing Option
Time Sharing Option (TSO) is an interactive time-sharing environment for IBM mainframe operating systems, including OS/360 MVT, OS/VS2 (SVS), MVS, OS/390, and z/OS.
Use
In computing, time-sharing is a design technique that allows many peop ...
(TSO) for use with MVT was added as part of release 20.1. TSO became widely used for program development because it provided an editor, the ability to submit batch jobs, be notified of their completion, and view the results without waiting for printed reports, and debugger
A debugger or debugging tool is a computer program used to test and debug other programs (the "target" program). The main use of a debugger is to run the target program under controlled conditions that permit the programmer to track its executi ...
s for some of the programming languages used on System/360. TSO in OS/360[IBM later added the ability to use VTAM for TSO, but only in MVS.] communicated with terminals by using Telecommunications Access Method
Telecommunications Access Method (TCAM) is an access method, in IBM's OS/360 and successors computer operating systems on IBM System/360 and later, that provides access to terminals units within a teleprocessing network.
Features
TCAM provides si ...
(TCAM). TCAM's name suggests that IBM hoped it would become the standard access method for data communications, but in fact TCAM in OS/VS2 was used almost entirely for TSO and was largely superseded by Virtual Telecommunications Access Method
Virtual Telecommunications Access Method (VTAM) is the IBM subsystem that implements Systems Network Architecture (SNA) for mainframe environments. VTAM provides an application programming interface (API) for communication applications, and c ...
(VTAM) in the mid-to-late 1970s.
Also referred to as SYS=VMS in invocations of some macros that were system-dependent.
M65MP
Model 65 Multiprocessing (M65MP) is a variant of MVT. It runs on a 360/65 in Multisystem mode[
] M65MP traps use of the Set System Mask (SSM) instruction to serialize disabled code between the two CPUs. For the most part an M65MP system has the same behavior and interfaces as any other MVT system.
The keyword parameter SYS=VMS included M65MP as well as uniprocessor MVT.
Shared features
PCP, MFT and MVT provide similar facilities from the point of view of application programs:
* The same application programming interface (API) and application binary interface
In computer software, an application binary interface (ABI) is an interface between two binary program modules. Often, one of these modules is a library or operating system facility, and the other is a program that is being run by a user.
An ...
(ABI), so application programs can be transferred between MFT and MVT without even needing to be modified or re-assembled or re-compiled.
* The same JCL (Job Control Language, for initiating batch jobs), which was more flexible and easier to use, though more complex, than that of DOS/360.
* The same facilities ( access methods) for reading and writing files and for data communications:
** Sequential data sets are normally read or written one record at a time from beginning to end, using BSAM or QSAM
In IBM mainframe operating systems, queued sequential access method (QSAM) is an access method to read and write datasets sequentially. QSAM is available on OS/360, OS/VS2, MVS, z/OS, and related operating systems.
QSAM is used both for devic ...
. This was the only technique that could be used for tape drive
A tape drive is a data storage device that reads and writes data on a magnetic tape. Magnetic tape data storage is typically used for offline, archival data storage. Tape media generally has a favorable unit cost and a long archival stability.
...
s, card Card or The Card may refer to:
* Various types of plastic cards:
**By type
***Magnetic stripe card
*** Chip card
*** Digital card
**By function
***Payment card
****Credit card
**** Debit card
****EC-card
****Identity card
****European Health Insur ...
readers / punches and printers.
** In indexed (ISAM
ISAM (an acronym for indexed sequential access method) is a method for creating, maintaining, and manipulating computer files of data so that records can be retrieved sequentially or randomly by one or more keys. Indexes of key fields are mainta ...
) files a specified section of each record is defined as a key which can be used to look up specific records.
** In direct access ( BDAM) files, the application program has to specify the relative block number, the relative track and record (TTR) or the actual physical location (MBBCCHHR)[The dataset should have the unmovable attribute.] in a Direct-access storage device
A direct-access storage device (DASD) (pronounced ) 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, t ...
(DASD) of the data it wanted to access, or the starting point for a search by key. BDAM programming was not easy and most organizations never used it themselves; but it was the fastest way to access data on disks and many software companies used it in their products, especially database management systems such as ADABAS
Adabas, a contraction of “adaptable database system," is a database package that was developed by Software AG to run on IBM mainframes. It was launched in 1971 as a non-relational database. As of 2019, Adabas is marketed for use on a wider ran ...
, IDMS
The Integrated Database Management System (IDMS) is a network model (CODASYL) database management system for mainframes. It was first developed at B.F. Goodrich and later marketed by Cullinane Database Systems (renamed Cullinet in 1983). Sinc ...
and IBM's DL/I Data Language One (Data Language/I, DL/I, Data Language/One, Data Language/One) is the language system used to access IBM's IMS databases and its data communication system.
It is implemented from many languages by making calls to a software stub, ...
. It is also available from OS/360 Fortran. BDAM datasets are unblocked, with one logical record per physical record.
** An additional file structure, partitioned, and access method ( BPAM), is mainly used for managing program libraries. Although partitioned files need to be compressed to reclaim free space, this has less impact than did a similar requirement for DOS/360's Core Image Library, because MFT and MVT allow multiple partitioned datasets and each project generally has at least one.
** Generation Data Groups (GDGs) were originally designed to support grandfather-father-son backup procedures - if a file was modified, the changed version became the new son, the previous son became the father, the previous father became the grandfather and the previous grandfather was deleted. But one could set up GDGs with more than 3 generations, and some applications used GDGs to collect data from large and variable numbers of sources and feed the information to one program - each collecting program created a new generation of the file and the final program read the whole group as a single sequential file (by not specifying a generation in the JCL).
** BTAM, a data communications facility, was primitive and hard to use by today's standards. However, it 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.
* The file naming system allows files to be managed as hierarchies with at most 8 character names at each level, e.g. PROJECT.USER.FILENAME. This is tied to the implementation of the ''system catalog'' (SYSCTLG) and ''Control Volumes'' (CVOLs), which used records with 8 byte keys.
Shared features excluding PCP
Some features were available only for MFT and MVT:
* A SPOOLing facility for MFT II and MVT (which DOS/360 initially lacked, but was, later, provided by the POWER application).
* Applications in MFT (Release 19 and later) and MVT could create sub-tasks, which allowed multitasking ( multithreading) within the one job.
* Graphic Job Processing
* Satellite Graphic Job Processing
* Remote Job Entry
* Queued Telecommunications Access Method (QTAM)
* Telecommunications Access Method (TCAM)
System/370 and virtual memory operating systems
When System/370
The IBM System/370 (S/370) is a model range of IBM mainframe computers announced on June 30, 1970, as the successors to the System/360 family. The series mostly maintains backward compatibility with the S/360, allowing an easy migration path ...
was announced in 1970 it offered essentially the same facilities as System/360 but with about 4 times the processor speeds of similarly priced System/360 CPUs. 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
In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very ...
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.[ DPD = Data Processing Division, which was responsible for IBM's medium and large systems.]
OS/360
IBM provided an OS/360 SYSGEN
CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS (typically residing ...
option for S/370 support, which did not support DAT but did:
* Support control registers
* Support enhanced I/O[But not IDAL]
* Provide a S/370 Machine Check Handler
* Provide limited support for the new timer facilities
OS/VS1
OS/VS1
Operating System/Virtual Storage 1, or OS/VS1, is a discontinued IBM mainframe computer operating system designed to be run on IBM System/370 hardware. It was the successor to the Multiprogramming with a Fixed number of Tasks (MFT) option of Sys ...
is the successor to MFT, and offers similar facilities with several additions, e.g., RES, virtual memory. VSAM (see below) was initially available as an independent component release (ICR) and later integrated into the OS/VS1 base. IBM released fairly minor enhancements of OS/VS1 until 1983, and in 1984 announced that there would be no more. AIX/370, AIX/ESA, DPPX, IX/370, OS/VS1 and TSS/370 are the only System/370 operating systems that do not have modern descendants.
OS/VS2 SVS and MVS
OS/VS2 release 1 was just MVT plus virtual memory and VSAM (see below). This version was eventually renamed OS/VS2 SVS, for Single Virtual Storage, when OS/VS2 Release 2, also known as MVS, for Multiple Virtual Storage, was introduced. SVS was intended as a stepping stone from MVT to MVS, and is only of historical interest today.
In 1974 IBM released what it described as OS/VS2 Release 2 but which was really a new operating system that was upwards-compatible with OS/VS2 Release 1. The Supervisor of the new system had been largely rewritten in a new dialect of BSL, PL/S
PL/S, short for Programming Language/Systems, is a "machine-oriented" programming language based on PL/I. It was developed by IBM in the late 1960s, under the name Basic Systems Language (BSL), as a replacement for assembly language on internal ...
; BSL and PL/S were dialects of PL/I
PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language developed and published by IBM. It is designed for scientific, engineering, business and system programming. I ...
with extensions designed to transcribe Assembly language code, including privileged instructions needed to control the computer as a whole. Time-sensitive OS components, such as the OS Dispatcher and the IOS
iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
, notably, among many others, remained coded in Assembly Language, which had been enhanced for OS/VS in the IFOX00 Assembler[Also shipped with DOS/VS and ]VM/370
VM (often: VM/CMS) is a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules (emulator), Hercules emulator for personal computers.
The ...
. (from the older, OS/360 IEUASM Assembler).
The new version's most noticeable feature was that it supported multiple virtual address spaces - different applications thought they were using the same range of virtual addresses, but the new system's virtual memory
In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very ...
facilities mapped these to different ranges of real memory addresses. Each application's address space consists of 3 areas: operating system (one instance shared by all jobs); an application area which was unique for each application; shared virtual area used for various purposes including inter-job communication. IBM promised that the application areas would always be at least 8MB. This approach eliminated the risk of memory fragmentation that was present in MVT and SVS, and improved the system's internal security. The new system rapidly became known as " MVS" (Multiple Virtual Storages), the original OS/VS2 became known as "SVS" (Single Virtual Storage) and IBM itself accepted this terminology and labelled MVS's successors "MVS/''xxx''".[3033 Technical press release](_blank)
/ref>
MVS introduced a new approach to workload management, allowing users to define performance targets for high-priority batch jobs. This enabled users to give their systems more work than before without affecting the performance of the highest-priority jobs.
MVS was IBM's first mainstream operating system on the System/370[OS/360 M65MP and TSS/360 supported SMP.] to support what IBM called ''tightly coupled multiprocessing'', in which 2 (later, up to 12, for IBM mainframes, and up to 16, for Amdahl mainframes) CPUs shared concurrent access to the same memory (and a ''single'' copy of the operating system and peripheral devices), providing greater processing power and a degree of graceful degradation
Fault tolerance is the property that enables a system to continue operating properly in the event of the failure of one or more faults within some of its components. If its operating quality decreases at all, the decrease is proportional to the ...
if one CPU failed (which, fortunately, became an increasingly rare event, as system up time rose from ''hours'' to ''days'' and, then, to ''years''.)
Initially MVS was supplied with a job queue
In system software, a job queue ( batch queue, input queue), is a data structure maintained by job scheduler software containing jobs to run.
Users submit their programs that they want executed, "jobs", to the queue for batch processing.
The s ...
manager called JES2 (Job Entry Subsystem 2), which was descended from HASP (Houston Automatic Spooling Priority
The Houston Automatic Spooling Priority Program, commonly known as HASP, is an extension of the IBM OS/360 operating system and its successors providing extended support for "job management, data management, task management, and remote job entry ...
) and also supported Remote Job Entry from workstations located elsewhere. JES2 can only manage jobs for one CPU (which might be a tightly coupled multiprocessor system). In 1976 IBM provided another option, JES3 (Job Entry Subsystem 3), a descendant of ASP ( Attached Support Processor), which allows one CPU to manage a single job queue feeding work to several physically distinct CPUs, and therefore allows one operator's console to manage the work of all those CPUs. Note: JES1 was the job queue manager for OS/VS1 (see above).
VSAM
IBM hoped that Virtual storage access method Virtual Storage Access Method (VSAM) is an IBM DASD file storage access method, first used in the OS/VS1, OS/VS2 Release 1 (SVS) and Release 2 (MVS) operating systems, later used throughout the Multiple Virtual Storage (MVS) architecture and n ...
(VSAM) would replace its earlier sequential, indexed and direct access methods as it provided improved versions of these:
* Entry-Sequenced Datasets (ESDS) provide facilities similar to those of both sequential and BDAM (direct) datasets, since they can be read either from start to finish or directly by specifying an offset from the start.
* Key-Sequenced Datasets (KSDS) are a major upgrade from IBM's ISAM: they allow secondary keys with non-unique values and keys formed by concatenating non-contiguous fields in any order; they greatly reduce the performance problems caused by overflow records used to handle insertions and updates in ISAM; and they greatly reduce the risk that a software or hardware failure in the middle of an index update might corrupt the index. VSAM provides an ISAM / VSAM Interface which allows ISAM-based applications to use VSAM KSDS without reprogramming.
* Relative Record Datasets (RRDS) are a replacement for direct access ( BDAM) datasets, allowing applications to access a record by specifying a relative record number. Unlike ESDS and KSDS, RRDS does not support variable-length records.
These VSAM formats became the basis of IBM's database management systems
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spa ...
, IMS/VS and DB2 - usually ESDS for the actual data storage and KSDS for indexes.
VSAM also provides a new implementation of the catalog facility which enables applications to access files by name, without needing to know which disk drive(s) they are on. VSAM datasets ''must'' be defined in a VSAM catalog before they are used, and non-VSAM datasets can also be listed in a VSAM catalog. The MVS Master Catalog ''must'' be a VSAM catalog. Catalogs were originally provided in OS/360 in the form of CVOLs; MVS added a separate catalog structure for VSAM; later IBM added a third type of catalog known as an ICF catalog. (IBM removed support for CVOL and VSAM catalogs as of 2000, since they were not Y2K-compliant; hence in z/OS, only ICF catalogs are supported.)
SNA
In 1974 IBM announced Systems Network Architecture
Systems Network Architecture (SNA) is IBM's proprietary networking architecture, created in 1974. It is a complete protocol stack for interconnecting computers and their resources. SNA describes formats and protocols but, in itself, is not a pi ...
, which was meant to reduce the cost of running large networks of terminals, mainly by using communications lines much more efficiently. This is only available for IBM's virtual memory operating systems, since its mainframe software component, VTAM
Virtual Telecommunications Access Method (VTAM) is the IBM subsystem that implements Systems Network Architecture (SNA) for mainframe environments. VTAM provides an application programming interface (API) for communication applications, and ...
is only available with these operating systems.
Later MVS versions and enhancements
In 1977 IBM announced MVS/System Extensions, a ''program product'' (i.e., it cost extra money) which improved MVS performance and added functionality.[3033 Press announcement](_blank)
/ref>
Descendants of MVS are still used on the latest descendants of System/360, System/390
The IBM System/390 is a discontinued mainframe product family implementing the ESA/390, the fifth generation of the System/360 instruction set architecture. The first computers to use the ESA/390 were the Enterprise System/9000 (ES/9000 ...
and zSeries
IBM Z is a family name used by IBM for all of its z/Architecture mainframe computers.
In July 2017, with another generation of products, the official family was changed to IBM Z from IBM z Systems; the IBM Z family now includes the newest mod ...
; it was renamed to OS/390
OS/390 is an IBM operating system for the System/390 IBM mainframe computers.
Overview
OS/390 was introduced in late 1995 in an effort to simplify the packaging and ordering for the key, entitled elements needed to complete a fully functional ...
for System/390, and the 64-bit version for the zSeries was named z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
* ...
.
Structure, interface and logic
For reasons of size, this section concentrates on the MVT option of OS/360; PCP and MFT are very similar; with changes in nomenclature and some minor differences. OS/VS1
Operating System/Virtual Storage 1, or OS/VS1, is a discontinued IBM mainframe computer operating system designed to be run on IBM System/370 hardware. It was the successor to the Multiprogramming with a Fixed number of Tasks (MFT) option of Sys ...
and SVS Have much the same structure as MFT II and MVT, while MVS, although retaining much of the logic of MVT, has major enhancements better addressed in a separate article. This article adheres to IBM's usage of the term ''storage'' rather than ''memory''.
CPU allocation
OS/360 assigns processors to tasks, which are analogous to light-weight processes or threads in other systems. Each task has a Task Control Block The Task Control Block (TCB) contains the state of a task in, e.g., OS/360 and successors on IBM System/360 architecture and successors.
The TCB in OS/360 and successors
In OS/360, OS/VS1, SVS, MVS/370, MVS/XA, MVS/ESA, OS/390 and z/OS, the TCB ...
(TCB) and a stack of Request Blocks[The ]Service Request Block {{unreferenced, date=December 2019
A Service Request Block (SRB) is a data structure of MVS/370 and successor versions of IBM mainframe operating systems employed mainly, but not exclusively, by the Start Input/Output interface.
An SRB may be co ...
of MVS is not associated with a specific TCB, despite the name. (RBs). A task is either dispatchable or nondispatchable[I.e., has one or more nondispatchability flags set in the TCB.] and an RB is either waiting[I.e., has a non-zero wait count.] or not waiting. The ''Dispatcher'' selects the highest priority dispatchable task whose current RB is not waiting.
MVS assigns processors to address spaces, which are analogous to processes, and to Service Request Block (SRBs) and tasks within address spaces. Each address space has an Address Space Control Block (ASCB), a queue of SRBs and a queue of TCBs.
Storage layout
In OS/360 all storage is visible to all code, although fetch protection may prevent access by unprivileged code to some control blocks or between jobs.
Main storage for MVT is divided into a ''system'' (''fixed'') area at the bottom of real storage, a ''common'' area at the top and a ''private'' area in the middle. These contain the following areas.
;Fixed area
: This area starts at absolute location 0 and contains
:;The Nucleus.
::This is a section of storage at location 0, loaded from , where xx is normally 01. For Model 65 MP (M65MP), there is a separate copy of the prefix (locations 0-4095) for each processor[ and the term ''absolute address'' refers to the address actually sent to memory after any prefixing while the term ''real address'' refers to the address before any prefixing is applied. The Nucleus contains interrupt handlers, control blocks, type 1 and type 2 SVC routines, SVC transient area, routines that can be directly called by unprivileged code and routines that can only be called by privileged code.
:;System Queue Area (SQA).
::This is an area from which the system acquires storage shared between jobs.
;Private area.
:This an area from which MVT acquires storage for regions. The types of regions include
:;Job
::Allocated by the ''Initiator'' for batch jobs submitted by, e.g., card reader, CRJE, RJE, TSO
:;Foreground
::Contains a swapped-in TSO session. Created by the Time Sharing Control (TSC) task.
:;Mount
::Allocated by Started Task Control (STC) for operator MOUNT command.
:;Started task
::Allocated by Started Task Control (STC) for operator START command.
;Common area
'This is a section of storage at the highest physical address. It contains
:;Resident BLDL area
::This is an area caching selected directory entries.
:;Master Scheduler region
::The Master Scheduler and the Communication task run in this region, which NIP allocates.
:;Link Pack Area][Also known as Link-Pack Queue.] (LPA)
::This is an area into which MVT loads reentrant access method routines and other programs at IPL time that can subsequently be shared by all jobs.
SVS storage layout
SVS is similar except that the system area is at the top and bottom of virtual storage rather than real storage, the Nucleus is in Virtual=Real (V=R) storage, the private area contains a Local System Queue Area (LSQA) for each region and the LPA is split into:
;Pageable Link Pack Area (PLPA)
:This is an area containing all of the modules in SYS1.LPALIB; the page dataset backing it up is retained across IPLs, except when the create LPA (CLPA) option is specified.
;Modified Link Pack Area (MLPA)
:This is an area containing modules listed in an IEALPAxx member of SYS1.PARMLIB and replacing modules in the PLPA for the duration of an IPL.
;Fixed Link Pack Area (FLPA).
:This is an area containing page-fixed modules listed in an IEAFIXxx member of SYS1.PARMLIB and replacing modules in the PLPA for the duration of an IPL.
MVS/370 Storage layout
In MVS all address spaces share the system area[Except that there is a separate copy of the PSA for each processor.] but not the private area. MVS adds:
;Common Storage Area (CSA)
:This is an area from which MVS can dynamically allocate storage shared by all address spaces.
;System Work Area (SWA)
:This is an area containing control blocks that in OS/360 and SVS had been contained in SYS1.SYSJOBQE.
MVS/XA, MVS/ESA and OS/390 storage layout
In MVS/XA and later, there are system, private and common areas below the (224 bytes) ''line'', and extended areas between and (231 bytes).
z/OS storage layout
In z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
* ...
, the storage layout[
] is similar to that of MVS/XA, MVS/ESA and OS/390; storage above the ''bar'' is managed by different services than storage below the bar.
IPL process
When the operators initially selects , The system sends a command to the selected device, reading 24 bytes from cylinder 0, track 0, record 1, into storage location 0.[
] Bytes 8-23 read and transfer to the bootstrap record cylinder 0, track 0, record 2, which in turn reads and transfers to the IPL Loader. The IPL Loader does initial housekeeping, locates the requested nucleus and loads it with relocation; the interrupt handler csect is always at location 0 and the Nucleus Initialization csect is always last, so that it can eventually be discarded. The Nucleus Initialization Program (NIP) initializes various system components.
Initially NIP must provide services that it needs. However, as it initializes various OS facilities it begins using standard services, e.g., it uses the macro to read a Data Set Control Block (DSCB) from a Volume Table Of Contents In the IBM System/360Including the successors S/370 through z/Architecture storage architecture, the Volume Table of Contents (VTOC), is a data structure that provides a way of locating the data sets that reside on a particular DASD volume. With ...
(VTOC).
NIP reads members from the dataset to obtain various operational data. These members may be specified by default, by the operator, or by parameters in other members.
NIP eventually creates a Master Schedule region from the private area and transfers to IEEVIPL to initialize the Master Scheduler and Communication Task, which completes system Initialization.
Job-like units of work
In addition to batch jobs, OS/360 supports several categories of work that it handles similarly to batch jobs. In all cases the system has to process JCL, allocate a region, allocate devices and initiate the job-step program. For a batch job, the Reader/Interpreter processes JCL from an external device; for commands, commands and TSO , the system generates JCL invoking a cataloged procedure.
Interfaces
API
OS/360 has a control block known as the Communications Vector Table (CVT), which contains pointers to other control blocks and to various routines. Some of the OS/360 macro-instructions refer to fields in the CVT and other control blocks.
OS/360 has macros to provide dsect mappings of some control blocks, although many macros have hard coded offsets rather than the names in the mapping macros.
OS/360 services typically have parameters in register 1; some use registers 0 and 1 and some use registers 0, 1 and 15.
OS/360 service macros often have three forms:
;Execute form
:Perform the function using a provided parameter list
;List form
:Generate a parameter list with preset parameters that can be used by an execute form macro.
;Standard form
:Generate any required parameter list and perform the function.
Many of the important services are implemented in SVC routines, and preserve registers 2-14. Others are implemented as directly callable subroutines, with entry addresses in system control blocks and require that Register 13 point to a standard save area; these typically preserve registers 2-13. In either case, register 15 at exit normally contains a return code; many services return additional data in registers 0 and 1.
Operator consoles
OS/360 requires at least one operator consoles; there are two levels of support
;Primary
:This is a basic level of support allowing only one primary console, one optional alternate console
;Multiple Console Support (MCS)
:MCS allows one master console and up to 31 secondary consoles. Any of the 32 consoles may have an alternate console to receive its message traffic in the event it fails. MCS allows recording of message traffic on a hardcopy log, which may be either a secondary console or the system log (SYSLOG) on DASD. MCS includes Device Independent Display Operator Console Support (DIDOCS), a unified framework for supporting CRT-based consoles.
Each message issued by a Write To Operator (WTO) or Write To Operator with Reply (WTOR) has associated with it one or more routing code. The operator can limit a console to displaying only specific routing codes. A typical use for this would be placing a console in a tape library and displaying only messages relevant to the tape librarian on it. The special routing code 7 causes the message text to be included in the job's message log.
Each message also has a descriptor that controls how it is processed.
One of the key operator commands is , which provides a response to the macro. The operator can only reply to a WTOR at a console that received its message text.
A key command for display consoles, e.g., 2250, 2260, 3270, is CONTROL (K), which sets processing options for, e.g., scrolling.
JCL
Timeline
These data are taken fro
IBM 360 Operating Systems Release History
and IBM announcement letters.
Notes
References
Citations
OS/360 manuals
;DMMAC
:
;DMSVC
:
;DMSYS
:
;JCLREF
:
;JCLUSER
:
;LKED
:
;MFT
:
;MVT
:
;SMF
:
;SUP
:
;SYSCB
:
;SYSGEN
:
;SYSPG
:
;TSO
:
;TSOCMD
:
OS/360 logic manuals
;IOS 2nd ed
:
;IOS
:
;IPL
:
;PCPJOB
:
;MVTJOB
:
;MVTSUP
:
Further reading
Manuals
* IBM
"MVT Guide"
- GC28-6720-4, R21, March 1972
* IBM
"MVT Supervisor PLM"
- GY28-6659-7, Program Logic Manual, March 1972
* IBM
"OS I/O Supervisor PLM"
- GY28-6616-1, Program Logic Manual, April 1967
* IBM
"OS I/O Supervisor PLM"
- GY28-6616-9, Program Logic Manual, R21.7, April 1973
Books
* Brooks, Jr., Frederick P. (1975). " The Mythical Man-Month: Essays on Software Engineering", Addison-Wesley. . (Reprinted with corrections, January 1982)
* Binder, Robert V. (1985). " Application Debugging: An MVS Abend Handbook for Cobol, Assembly, PL/I, and Fortran Programmers ", Prentice-Hall. .
* Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991)
''IBM's 360 and Early 370 Systems''
Cambridge : MIT Press. (pp. 291–345)
Articles
*
References in popular culture
* ABEND
External links
Operating System/360 1965–1972
{{DEFAULTSORT:Os 360 And Successors
IBM mainframe operating systems
Computer-related introductions in 1964
1960s software