| IBM System/360 Operating System (OS/360) | |
|---|---|
| Developer | IBM |
| Written in | Assembly language,Basic Systems Language (BSL) |
| OS family | OS/360 and successors |
| Initial release | March 31, 1966; 59 years ago (1966-03-31) |
| Latest release | 21.8 / August 1972; 53 years ago (1972-08) |
| Marketing target | IBM mainframe computers |
| Supported platforms | S/360,S/370 |
| Kernel type | N/A |
| License | Public domain |
| Succeeded by | OS/VS1,OS/VS2 (SVS) |
| History of IBM mainframe operating systems |
|---|
|
OS/360, officially known asIBM System/360 Operating System,[1][2] is a discontinuedbatch processingoperating system developed byIBM for their then-newSystem/360mainframe computer, announced in 1964; it was influenced by the earlierIBSYS/IBJOB andInput/Output Control System (IOCS) packages for theIBM 7090/7094[citation needed] and even more so by the PR155 Operating System for theIBM 1410/7010 processors.[citation needed] It was one of the earliest[NB 1] operating systems to require the computer hardware to include at least onedirect access storage device.
Although OS/360 itself was discontinued, successor operating systems, including thevirtual storageMVS and the64-bitz/OS, are still run as of 2023[update] and maintain application-level compatibility with OS/360.
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:
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 toDASD in order to perform asystem generation. 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 offeredmicrofiche that had assembly listing of the basic program material and of subsequent service.[NB 3] IBM continued distributing source code until it imposed an Object Code Only[3] (OCO) policy for licensed software.
The other major operating system for System/360 hardware wasDOS/360.
OS/360 is in thepublic domain[4] and can be downloaded freely. As well as being run on actual System/360 hardware, it can be executed on the freeHercules emulator, which runs under mostUNIX andUnix-like systems includingLinux,Solaris, andmacOS, as well asWindows. There are OS/360 turnkey CDs that provide pregenerated OS/360 21.8 systems ready to run under Hercules.
IBM originally intended that System/360 should have only one batch-oriented[NB 4] operating system, OS/360,[2] capable of running on machines as small as 32 KiB. It also intended to supply a separatetimesharing operating system,TSS/360, for theSystem/360 Model 67. IBM failed to meet OS/360's memory usage goal, and it required 44 KiB for even limited production. There are at least two accounts of why IBM eventually decided to produce other, simpler batch-oriented operating systems:
IBM introduced a series of stop-gaps to prevent System/360 hardware sales from collapsing—firstBasic Programming Support (BPS) andBOS/360 (Basic Operating System, for the smallest machines with 8K byte memories), thenTOS/360 (Tape Operating System, for machines with at least 16K byte memories and only tape drives), and finallyDOS/360 (Disk Operating System), which became a mainstream operating system and is the ancestor of today's widely usedVSEn.[6][7]
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 with Fixed number of Tasks) for the mid-range machines, and MVT (Multiprogramming with Variable number of Tasks) for the top end.[8] MFT and MVT were used until at least 1981,[9] a decade after their successors had been launched.[10] 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 theOS/360 control program", although later IBM described them as "separate versions of OS/360".[2][specify][11]
IBM originally wrote OS/360 inassembly language. Later on, IBM wrote some OS/360 code in a new language,Basic Systems Language (BSL),[12] 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 timeCP-67 was running well enough for IBM to offer it without warranty as a timesharing facility for a few large customers.[13]
These three options offered such similar facilities that porting applications between them usually required minimal effort; the same versions of most[NB 5] IBMProgram Products, application andutility software ran on both. The text below mostly treatsPCP,MFT andMVT as simply new names for the originalSSS,MSS andMPS, 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,[2]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 thesystem generation (SysGen) a fixed[NB 6] number ofpartitions, areas of memory with fixed boundaries, in which application programs can be run simultaneously.[11]
Primary Control Program (PCP) was intended for machines with small memories. It is similar to MFT[NB 7] with onepartition. 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.
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 newSystem/370 machines with virtual memory in 1972, IBM developed MFT 2 intoOS/VS1, the last system of this particular line.
The first version of MFT[14] shared much of the code and architecture with PCP, and was limited to fourpartitions. It was very cumbersome to run multiple partitions. Many installations usedHouston Automatic Spooling Priority (HASP) to mitigate the complexity.
MFT Version II (MFT-II)[15] 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 addedsub-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,[16] which in the 1960s was quite a large amount.
Also referred to as SYS=INT in macro expansions that were system-dependent.
Multiprogramming with a Variable number of Tasks (MVT)[17] was the most sophisticated of three available configurations ofOS/360's control program, and one of two available configurations in the final releases.[18] 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 contiguousregions could be allocated as required, by an unlimited[NB 8] 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 tofragmentation—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.[11] System/360 lacked memory relocation hardware so memory compaction could not be used to reduce fragmentation. A facility calledRollout/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 berolled-in to the original memory locations when they again became available.[19]
In 1971 theTime Sharing Option (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, anddebuggers for some of the programming languages used on System/360. TSO in OS/360[NB 9] communicated with terminals by usingTelecommunications Access Method (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 byVirtual Telecommunications Access Method (VTAM) in the mid-to-late 1970s.
Also referred to as SYS=VMS in invocations of some macros that were system-dependent.
Model 65 Multiprocessing (M65MP) is a variant of MVT. It runs on a 360/65 in Multisystem mode[20] 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.
PCP, MFT and MVT provide similar facilities from the point of view of application programs:
OS/360 provides the same languages, service aids and utilities for PCP, MFT and MVT. The OS/VS systems drop sort/merge and all language processors, but provide a new assembler, IFOX00 (Assembler XF). IBM released program products to replace most[NB 11] of the free language processors and some of the other support programs. OS/360 supports the following
Some features were available only for MFT and MVT:
WhenSystem/370 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.[21] Then in 1972 IBM announcedSystem/370 Advanced Functions, of which the main item was that future sales of System/370 would includevirtual memory 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.[22][23]
IBM provided an OS/360SYSGEN option for S/370 support, which did not support DAT but did:
OS/VS1 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.[11]
IBM intended OS/VS1 to manage a medium-sized work load (for the 1970s) consisting only ofbatch processing applications, running within a fixed number of operating system partitions via the batch job management systemJob Entry Subsystem 1 (JES1), which replaced the spooling facilities of OS/360. However, OS/VS1 could, and often did, support interactive applications and users by running IBM'sCICS transaction processing monitor as a job within one of its partitions.[24]
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/VS1 Basic Programming Extensions (BPE), product 5662-257, provides support for new 1980s hardware, such as 3380 Direct Access Storage, and for VM handshaking between VTAM and VM/VTAM Communications Network Application (VCNA).
OS/VS2 release 1 was justMVT plus virtual memory and VSAM (see below).[11] This version was eventually renamedOS/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 wasupwards-compatible with OS/VS2 Release 1. The Supervisor of the new system had been largely rewritten in a new dialect of BSL,PL/S;[25][26] BSL and PL/S were dialects ofPL/I with extensions designed to transcribeAssembly language code, includingprivileged instructions needed to control the computer as a whole. Time-sensitive OS components, such as the OS Dispatcher and theIOS, notably, among many others, remained coded inAssembly Language, which had been enhanced for OS/VS in the IFOX00 Assembler[NB 13] (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'svirtual memory 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 memoryfragmentation that was present in MVT and SVS, and improved the system's internal security.[11] 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".[27]
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.[28]
MVS was IBM's first mainstream operating system on the System/370[NB 14] to support what IBM calledtightly coupled multiprocessing, in which 2 (later, up to 12, for IBM mainframes, and up to 16, forAmdahl mainframes) CPUs shared concurrent access to the same memory (and asingle copy of the operating system and peripheral devices), providing greater processing power and a degree ofgraceful degradation if one CPU failed (which, fortunately, became an increasingly rare event, as system up time rose fromhours todays and, then, toyears.)
Initially MVS was supplied with ajob queue manager calledJES2 (Job Entry Subsystem 2), which was descended from HASP (Houston Automatic Spooling Priority) and also supportedRemote 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.[29] Note: JES1 was the job queue manager for OS/VS1 (see above).
IBM hoped thatVirtual storage access method (VSAM) would replace its earlier sequential, indexed and direct access methods as it provided improved versions of these:[30][31]
These VSAM formats became the basis of IBM'sdatabase management systems,IMS/VS andDB2 (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 datasetsmust 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 Catalogmust be a VSAM catalog.[31] 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.[33] (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.)[34]
In 1974 IBM announcedSystems Network Architecture, 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 is only available with these operating systems.
In 1977 IBM announced MVS/System Extensions, aprogram product (i.e., it cost extra money) which improved MVS performance and added functionality.[35]
Descendants of the original MVS are still used on the latest descendants of System/360,System/390 andzSeries; it was renamed toOS/390 for System/390, and the 64-bit version for the zSeries was namedz/OS.
This sectionneeds expansion. You can help byadding to it.(May 2022) |
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 andSVS have much the same structure as MFT II and MVT, whileMVS, 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 termstorage rather thanmemory.
OS/360 assigns processors to tasks, which are analogous tolight-weight processes orthreads in other systems. Each task has aTask Control Block (TCB) and a stack ofRequest Blocks[NB 15] (RBs). A task is either dispatchable or nondispatchable[NB 16] and an RB is either waiting[NB 17] or not waiting. TheDispatcher selects the highest priority dispatchable task whose current RB is not waiting.
MVS assigns processors toaddress spaces, which are analogous to processes, and toService 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.
| Content | Area | |
|---|---|---|
| Resident BLDL area (optional) | Common area | Highest |
| Link Pack Area (LPA) | ||
| Master Scheduler Region | ||
| Regions for jobs, MOUNT, started tasks and TSO | Dynamic area | |
| System Queue Area (SQA) | Fixed area | |
| Nucleus | Lowest |
In OS/360 all storage is visible to all code, althoughfetch protection may prevent access by unprivileged code to some control blocks or between jobs.Main storage for MVT is divided into asystem (fixed) area at the bottom of real storage, acommon area at the top and aprivate area in the middle. These contain the following areas.
SYS1.NUCLEUS(IEANUCxx), where xx is normally 01. For Model 65 MP (M65MP), there is a separate copy of the prefix (locations 0-4095) for each processor[36]: 72 and the termabsolute address refers to the address actually sent to memory after any prefixing while the termreal address refers to the address before any prefixing is applied. The Nucleus contains interrupt handlers, control blocks, type 1 and type 2SVC routines, SVC transient area, routines that can be directly called by unprivileged code and routines that can only be called by privileged code.'This is a section of storage at the highest physical address. It contains
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:
In MVS all address spaces share the system area[NB 19] but not the private area. MVS adds:
In MVS/XA and later, there are system, private and common areas below the16 MiB (224 bytes)line, and extended areas between16 MiB and2 GiB (231 bytes).
Inz/OS, the storage layout[37] is similar to that of MVS/XA, MVS/ESA and OS/390; storage above the2 GiBbar is managed by different services than storage below the bar.
When the operators initially selectsLOAD, The system sends aREAD IPL command to the selected device, reading 24 bytes from cylinder 0, track 0, record 1, into storage location 0.[36]: 22 Bytes 8-23 read and transfer to the bootstrap record[38] 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 theOBTAIN macro to read aData Set Control Block (DSCB) from aVolume Table of Contents (VTOC).
NIP reads members from theSYS1.PARMLIB 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.
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; forSTART commands,MOUNT commands andTSOLOGON, the system generates JCL invoking a cataloged procedure.
For each job-like unit of work, theReader/Interpreter converts the JCL to control blocks (tables) on SYS1.SYSJOBQE (system job queue) and theInitiator uses those control blocks to run the job. The details below are for MVT and SVS; PCP does not support spooling and MFT partition handling is somewhat different from MVT region handling.
The Reader/Interpreter (R/I) performs two functions, depending on how the system calls it.
When the OS initializes theMaster Scheduler, processes aMOUNT command,, processes aSTART command or processes aTSOLOGON, the system generates JCL invoking a cataloged procedure and invokes the R/I, followed by theInitiator.
For a Reader procedure, the R/I creates a separate input job entry on the job queue for each job in the input stream. The R/I recognizes explicit DD *, implicit DD* and explicit DD DATA in-stream (SYSIN) data sets, and allocates a separate DASD dataset for each, using a special DSNAME that includes the job name and a timestamp.
The Initiator performs two functions, depending on how the system calls it.
For Master Scheduler Initiation, processing commands and processingTSOLOGONs, the system calls the Initiator to run the job just constructed by the R/I, in a newly acquired region.
For batch jobs, the Initiator selects work from the input queue, acquires a region for each step and runs the steps in sequence, skipping steps when requested in the JCL.
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:
Many of the important services are implemented inSVC 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.
This sectionneeds expansion. You can help byadding to it.(April 2025) |
OS/360 relies heavily on serialization using an Event Control Block (ECB), which represents an event that can be waited for; an ECB contains a completion code for an event or the address of a Request Block (RB) waiting for that event. TheWAIT macro puts a task into a wait state until the specified events occur; thePOST macro marks an ECB as complete, stores the completion code into the ECB and decrements the wait count in the waiting RB, if any, possibly causing the associated task to be dispatched.
MVS adds other synchronization methods.
This sectionneeds expansion. You can help byadding to it.(April 2025) |
OS/360 uses theENQ andDEQ to serialize access to resources, identified by a queue name (qname or major) and resource name (rname or minor). The ENQ macro delays a task until all of the requested resources are available. The DEQ macros returns named resources previously requested by an ENQ. A DEQ need not release all resources obtained by corresponding ENQ requests, but subsequent DEQ requests must eventually release all of them.
MVS adds other serialization methods.
OS/360 requires at least one operator console; there are two levels of support
Each message issued by a Write To Operator (WTO) or Write To Operator with Reply (WTOR) has associated with it one or more routing codes. 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 isREPLY, which provides a response to theWTOR 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, isCONTROL (K), which sets processing options for, e.g., scrolling.
These data are taken fromIBM 360 Operating Systems Release History,System/370 Market Chronology of Products & Services,IBM."z/OS, z/OS.e, and OS/390 marketing and service announce, availability, and withdrawal dates". Archived fromthe original on March 14, 2008. and IBM announcement letters.
| Order No. | Announced | Shipped | Support dropped | Rel # | Name |
|---|---|---|---|---|---|
| 360S | 1964-04 | Operating System/360 | |||
| 1964-04 | 1965-11 | 1 | Operating System/360 prerelease Single Sequential Scheduler | ||
| 1964-04 | 1966-11 | OS/360 Multiple Sequential Scheduler | |||
| 360S | 1965-12 | 1966-03-31 | 1 | Operating System/360 | |
| 360S | 1966-06 | 2 | Operating System/360 | ||
| 360S | 1966-08-18 | 1966-08 | 4/5 | Operating System/360 | |
| 360S | 1966-04-29 | 1966-10 | 6 | Operating System/360 MFT | |
| 360S | 1966-12-07 | 8 | Operating System/360 | ||
| 360S | 1967-02 | 9.5 | Operating System/360 | ||
| 360S | 1967-05 | 11 | Operating System/360 | ||
| 360S | 1967-08-08 | 12 | Operating System/360 MVT? | ||
| 360S | 1967-08 | 13 | Operating System/360 MVT | ||
| 360S | 1968-01 | 14 | Operating System/360 | ||
| 360S | 1968-08-30 | 15/16 | Operating System/360 MFT-II, VTOC positioning | ||
| 360S | 1969-03 | 17 | Operating System/360 | ||
| 360S | 1969-07 | 1969-09 | 18 | Operating System/360 SMF for MVT | |
| 360S | 1969-10 | 18.6 | Operating System/360 | ||
| 360S | 1970-03 | 19 | Operating System/360 | ||
| 360S | 1970-06-01 | 1970-08-05 | 19.1 | Operating System/360 SMF for MFT, MFT Attach, 1285/87/88 support | |
| 360S | 1970-08-05 | 19.6 | Operating System/360 | ||
| 360S | 1970-09 | 20 | Operating System/360<TSO> | ||
| 360S | 1971-02 | 20.1 | Operating System/360 | ||
| 360S | 20.6 | Operating System/360 | |||
| 360S | 21 | Operating System/360 | |||
| 360S | 21.6 | Operating System/360 | |||
| 360S | 21.7 | Operating System/360 | |||
| 360S | 1972-08 | 21.8 | Operating System/360 | ||
| 5741 | 1972-08 | 1973-?? | 1 | Operating System/Virtual Storage 1 (OS/VS1) | |
| 5742-SC1 | 1972-08 | 1972-?? | 1 | Operating System/Virtual Storage 2 (OS/VS2) (Single Virtual Storage) (SVS) | |
| 5752-VS2 | 1972-08 | 1974-?? | 2 | Operating System/Virtual Storage 2 (OS/VS2) (Multiple Virtual address Spaces) (MVS) with Job Entry Subsystem 2 (JES2) | |
| 5752-VS2 | 1972-?? | 1975-10 | 2 | Operating System/Virtual Storage 2 (OS/VS2) MVS with Job Entry Subsystem 3 (JES3) | |
| 5752-VS2 | 2.1 | Operating System/Virtual Storage 2 (OS/VS2) MVS with Job Entry Subsystem 3 (JES3) | |||
| 5752-VS2 | 1975-?? | 1975-10 | 3 | Operating System/Virtual Storage 2 (OS/VS2) MVS with Job Entry Subsystems 2 and 3 (JES2 and JES3) | |
| 5752-VS2 | 3.6 | Operating System/Virtual Storage 2 (OS/VS2) MVS with Job Entry Subsystems 2 and 3 (JES2 and JES3) | |||
| 5752-VS2 | 1976-11 | 3.7 | Operating System/Virtual Storage 2 (OS/VS2) MVS with Job Entry Subsystems 2 and 3 (JES2 and JES3) | ||
| 5752-VS2 | 1979-?? | 3.8 | Operating System/Virtual Storage 2 (OS/VS2) MVS with Job Entry Subsystems 2 and 3 (JES2 and JES3) | ||
| 5740-XE1 | 1979-?? | 1 | MVS/System Extensions (MVS/SE) | ||
| 5740-XE1 | 1979-03 | 1979-08 | 2 | MVS/System Extensions (MVS/SE2) | |
| 5740-XYS | 1980-06 | 1980-12 | 1 | MVS/System Product Version 1 JES2 (MVS/SP 1.1) | |
| 5740-XYN | 1980-06 | 1980-12 | 1 | MVS/System Product Version 1 JES3 (MVS/SP 1.1) | |
| 5740-XYS | 1980-06 | 1981-06 | 2 | MVS/System Product Version 1 JES2 (MVS/SP 1.2) | |
| 5740-XYN | 1980-06 | 1981-06 | 2 | MVS/System Product Version 1 JES3 (MVS/SP 1.2) | |
| 5740-XYS | 1980-11 | 1981-10 | 3 | MVS/System Product Version 1 JES2 (MVS/SP 1.3) | |
| 5740-XYN | 1980-11 | 1981-10 | 3 | MVS/System Product Version 1 JES3 (MVS/SP 1.3) | |
| 5740-XC6 | 1981-10 | 1983-03 | 1 | MVS/System Product - JES2 Version 2 (MVS/Extended Architecture) (MVS/XA) | |
| 5740-XC6 | 1981-10 | 1983-03 | 1 | MVS/System Product - JES3 Version 2 (MVS/Extended Architecture) (MVS/XA) | |
| 5685-001 | 1988-02 | 1988-07 | 1 | MVS/System Product - JES2 Version 3 (MVS/Enterprise System Architecture) (MVS/ESA) | |
| 5685-002 | 1988-02 | 1988-07 | 1 | MVS/System Product - JES3 Version 3 (MVS/Enterprise System Architecture) (MVS/ESA) | |
| 5685-047 | 1990-09-05 | 1990-10-26 | 1994-03-31 | 1 | MVS/ESA SP - JES2 Version 4 |
| 5685-047 | 1990-09-05 | 1992-12-31 | 1999-06-30 | 2 | MVS/ESA SP - JES2 Version 4 |
| 5685-047 | 1992-06-18 | 1993-03-26 | 1999-06-30 | 3 | MVS/ESA SP - JES2 Version 4 |
| 5685-048 | 1990-09 | 1990-10 | 1999-06-30 | 1 | MVS/ESA SP - JES3 Version 4 |
| 5655-068 | 1994-04-05 | 1994-06-24 | 2001-01-31 | 1 | MVS/ESA SP - JES2 Version 5 |
| 5655-068 | 1994-09-13 295-072 | 1995-06-30 | 2001-03-31 | 2 | MVS/ESA SP - JES2 Version 5 |
| 5655-069 | 1994-09-13 | 1995-29-13 | 2001-03-31 | 2.1 | MVS/ESA SP - JES3 Version 5 |
| 5655-069 | 1995-02-28 295-072 | 1995-09-29 | March 31, 2001 (2001-03-31) | 2.2 | MVS/ESA SP - JES3 Version 5 |
| Order No. | Announced | Shipped | Support dropped | Rel # | Version |
|---|---|---|---|---|---|
| 5645-001 | 1996-02-20 | 1996-03-29 296-018 | 2001-01-31 | 1 | 1 |
| 5645-001 | 1996-02-20 296-018 | 1996-09-27 | 2001-01-31 | 2 | |
| 5645-001 | 1996-09-10 | 1997-03-11 297-040 | 2001-03-31 | 3 | |
| 5647-A01 | 1997-03-11 297-040 | 1997-09-26 297-355 | 2001-03-31 | 4 | 2 |
| 5647-A01 | 1997-09-09 297-355 | 1998-03-27 297-355 | 2001-03-31 298-049 | 5 | |
| 5647-A01 | 1998-02-24 298-049 | 1998-09-25 298-278 | 2002-03-31 | 6 | |
| 5647-A01 | 1998-08-18 298-278 | 1999-03-26 299-042 | 2002-03-31 | 7 | |
| 5647-A01 | 1999-02-22 299-042 | 1999-09-24 299-234 | 2002-09-30 | 8 | |
| 5647-A01 | 2000-02-29 299-234 | 2000-03-31 200-030 | 2003-03-31 | 9 | |
| 5647-A01 | 2000-05-16 | 2000-09-29 200-145 | 2004-09-30 | 10 |
| Order No. | Announced | Shipped | Support dropped | Rel # | Version |
|---|---|---|---|---|---|
| 5694-A01 | 2000-10-03 200-352 | 2001-03-30 | 2004-03-31 | 1 | 1 |
| 5694-A01 | 2001-09-11 201-248 | 2001-10-26 | 2004-10-31 | 2 | |
| 5694-A01 | 2002-02-19 202-031 | 2002-03-29 | 2005-03-31 | 3 | |
| 5694-A01 | 2002-08-13 202-190 | 2002-09-27 | 2007-03-31 | 4 | |
| 5694-A01 | 2004-02-10 204-017 | 2004-03-26 | 2007-03-31 | 5 | |
| 5694-A01 | 2004-08-10 204-180 | 2004-09-24 | 2007-09-30 | 6 | |
| 5694-A01 | 2005-07-27 205-167 | 2005-09-30 | 2008-09-30 | 7 | |
| 5694-A01 | 2006-08-08 206-190 | 2006-09-29 | 2009-09-30 | 8 | |
| 5694-A01 | 2007-08-08 207-175 | 2007-09-28 | 2010-09-30 | 9 | |
| 5694-A01 | 2008-08-05 208-186 | 2008-09-26 | 2011-09 | 10 | |
| 5694-A01 | 2009-08-18 209-242 | 2009-09-25 | 2013-09 | 11 | |
| 5694-A01 | 2010-07-22 210-235 | 2010-09-24 | 2015-09 | 12 | |
| 5694-A01 | 2011-07-12 211-252 | 2011-09-30 | 2017-09 | 13 | |
| 5650-ZOS | 2013-07-23 213-292 | 2013-09-30 | 2019-09 | 1 | 2 |
| 5650-ZOS | 2015-07-28 215-267 | 2015-09-30 | 2021-09 | 2 | |
| 5650-ZOS | 2017-07-17 217-246 | 2017-09-27 | 2022-09-30 | 3 | |
| 5650-ZOS | 2019-02-26 219-013 | 2019-09-30 | 2024-09-30 | 4 | |
| 5650-ZOS | 2021-06-27 221-260 | 2021-09-30 | 2026-09-30[39] | Supported: 5 | |
| 5655-ZOS | 2023-02-28 223-012 | 2023-09-29 | TBA | Supported: 1 | 3 |
| 5655-ZOS | 2025-07-22 AD25-0005 | 2025-09-30 | TBA | Latest version:2 | |
Legend: Unsupported Supported Latest version Preview version Future version | |||||