OS/360 and successors explained

IBM System/360 Operating System (OS/360)
Developer:IBM
Family:OS/360 and successors
Latest Release Version:21.8
Succeeded By:OS/VS1, OS/VS2 (SVS)
Marketing Target:IBM mainframe computers
Programmed In:Assembly language, Basic Systems Language (BSL)
Kernel Type:N/A
License:Public domain
Supported Platforms:S/360, S/370

OS/360, officially known as IBM System/360 Operating System,[1] is a discontinued batch processing operating system developed by IBM for their then-new System/360 mainframe computer, announced in 1964; it was influenced by the earlier IBSYS/IBJOB and Input/Output Control System (IOCS) packages for the IBM 7090/7094 and even more so by the PR155 Operating System for the IBM 1410/7010 processors. It was one of the earliest[2] operating systems to require the computer hardware to include at least one direct access storage device.

Although OS/360 itself was discontinued, successor operating systems, including the virtual storage MVS and the 64-bit z/OS, 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:

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 in order to perform a system 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 offered microfiche that had assembly listing of the basic program material and of subsequent service.[4] IBM continued distributing source code until it imposed an Object Code Only[5] (OCO) policy for licensed software.

The other major operating system for System/360 hardware was DOS/360.

OS/360 is in the public domain[6] and can be downloaded freely. As well as being run on actual System/360 hardware, it can be executed on the free Hercules emulator, which runs under most UNIX and Unix-like systems including Linux, Solaris, and macOS, as well as Windows. There are OS/360 turnkey CDs that provide pregenerated OS/360 21.8 systems ready to run under Hercules.

Origin

See also: History of IBM mainframe operating systems.

IBM originally intended that System/360 should have only one batch-oriented[7] operating system, OS/360, capable of running on machines as small as 32 KiB.[8] It also intended to supply a separate timesharing operating system, TSS/360, 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:

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, 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 VSEn.[11]

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. MFT and MVT were used until at least 1981,[12] a decade after their successors had been launched.[13] 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 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),[14] 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 was running well enough for IBM to offer it without warranty as a timesharing facility for a few large customers.[15]

OS/360 variants

These three options offered such similar facilities that porting applications between them usually required minimal effort; the same versions of most[16] IBM Program Products, application and utility 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 (SysGen) a fixed[17] number of partitions, areas of memory with fixed boundaries, in which application programs can be run simultaneously.[18]

PCP

Primary Control Program (PCP) was intended for machines with small memories. It is similar to MFT[19] with one partition. 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 machines with virtual memory in 1972, IBM developed MFT 2 into OS/VS1, the last system of this particular line.

The first version of MFT[20] 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 (HASP) to mitigate the complexity.

MFT Version II (MFT-II)[21] 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,[22] 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)[23] was the most sophisticated of three available configurations of OS/360'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[24] 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.[25]

In 1971 the Time 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, and debuggers for some of the programming languages used on System/360. TSO in OS/360[26] communicated with terminals by using Telecommunications 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 by Virtual 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.

M65MP

Model 65 Multiprocessing (M65MP) is a variant of MVT. It runs on a 360/65 in Multisystem mode[27] 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:

Shared features excluding PCP

Some features were available only for MFT and MVT:

System/370 and virtual memory operating systems

When System/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.[29] 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 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.[30] [31]

OS/360

IBM provided an OS/360 SYSGEN option for S/370 support, which did not support DAT but did:

OS/VS1

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. 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;[33] [34] BSL and PL/S were dialects of PL/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, notably, among many others, remained coded in Assembly Language, which had been enhanced for OS/VS in the IFOX00 Assembler[35] (from the older, OS/360 IEUASM Assembler).

MVS address spaces - global view
MVS (shared part of all address spaces) - App 1 App 2 App 3 - Shared virtual area (controlled by MVS)
One application's view
- MVS - App 1 - Shared virtual area -

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 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".[36]

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

MVS was IBM's first mainstream operating system on the System/370[38] 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 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 manager called JES2 (Job Entry Subsystem 2), which was descended from HASP (Houston Automatic Spooling Priority) 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.[39] Note: JES1 was the job queue manager for OS/VS1 (see above).

VSAM

IBM hoped that Virtual storage access method (VSAM) would replace its earlier sequential, indexed and direct access methods as it provided improved versions of these:[40] [41]

These VSAM formats became the basis of IBM's database management systems, 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.[43] (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.)[44]

SNA

In 1974 IBM announced Systems 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.

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

Descendants of MVS are still used on the latest descendants of System/360, System/390 and zSeries; it was renamed to OS/390 for System/390, and the 64-bit version for the zSeries was named z/OS.

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 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 (TCB) and a stack of Request Blocks[46] (RBs). A task is either dispatchable or nondispatchable[47] and an RB is either waiting[48] 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

MVT storage layout after IPL and NIP
ContentArea
Resident BLDL area (optional)Common areaHighest
Link Pack Area (LPA)
Master Scheduler Region
Regions for jobs, MOUNT, started tasks and TSODynamic area
System Queue Area (SQA) Fixed area
Nucleus Lowest
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[49] (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[50] 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, the storage layout[51] 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.[52] 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 (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 console; 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 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 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 from IBM 360 Operating Systems Release History, System/370 Market Chronology of Products & Services,Web site: z/OS, z/OS.e, and OS/390 marketing and service announce, availability, and withdrawal dates. IBM. and IBM announcement letters.

    Order No.AnnouncedShippedSupport
    dropped
    Rel #Name
    360S1964-04Operating System/360
    1964-041965-111Operating System/360 prerelease
    Single Sequential Scheduler
    1964-041966-11OS/360 Multiple Sequential Scheduler
    360S1965-121966-03-311Operating System/360
    360S1966-062Operating System/360
    360S1966-08-181966-084/5Operating System/360
    360S1966-04-291966-106Operating System/360
    MFT
    360S1966-12-078Operating System/360
    360S1967-029.5Operating System/360
    360S1967-0511Operating System/360
    360S1967-08-0812Operating System/360
    MVT?
    360S1967-0813Operating System/360
    MVT
    360S1968-0114Operating System/360
    360S1968-08-3015/16Operating System/360
    MFT-II, VTOC positioning
    360S1969-0317Operating System/360
    360S1969-071969-0918Operating System/360
    SMF for MVT
    360S1969-1018.6Operating System/360
    360S1970-0319Operating System/360
    360S1970-06-011970-08-0519.1Operating System/360
    SMF for MFT, MFT Attach, 1285/87/88 support
    360S1970-08-0519.6Operating System/360
    360S1970-0920Operating System/360<TSO>
    360S1971-0220.1Operating System/360
    360S20.6Operating System/360
    360S21Operating System/360
    360S21.6Operating System/360
    360S21.7Operating System/360
    360S1972-0821.8Operating System/360
    57411972-081973-??1Operating System/Virtual Storage 1 (OS/VS1)
    5742-SC11972-081972-??1Operating System/Virtual Storage 2 (OS/VS2)(Single Virtual Storage) (SVS)
    5752-VS21972-081974-??2Operating System/Virtual Storage 2 (OS/VS2)(Multiple Virtual address Spaces) (MVS) with Job Entry Subsystem 2 (JES2)
    5752-VS21972-??1975-102Operating System/Virtual Storage 2 (OS/VS2)MVS with Job Entry Subsystem 3 (JES3)
    5752-VS22.1Operating System/Virtual Storage 2 (OS/VS2)MVS with Job Entry Subsystem 3 (JES3)
    5752-VS21975-??1975-103Operating System/Virtual Storage 2 (OS/VS2)MVS with Job Entry Subsystems 2 and 3 (JES2 and JES3)
    5752-VS23.6Operating System/Virtual Storage 2 (OS/VS2)MVS with Job Entry Subsystems 2 and 3 (JES2 and JES3)
    5752-VS21976-113.7Operating System/Virtual Storage 2 (OS/VS2)MVS with Job Entry Subsystems 2 and 3 (JES2 and JES3)
    5752-VS21979-??3.8Operating System/Virtual Storage 2 (OS/VS2)MVS with Job Entry Subsystems 2 and 3 (JES2 and JES3)
    5740-XE11979-??1MVS/System Extensions (MVS/SE)
    5740-XE11979-031979-082MVS/System Extensions (MVS/SE2)
    5740-XYS1980-061980-121MVS/System Product Version 1 JES2 (MVS/SP 1.1)
    5740-XYN1980-061980-121MVS/System Product Version 1 JES3 (MVS/SP 1.1)
    5740-XYS1980-061981-062MVS/System Product Version 1 JES2 (MVS/SP 1.2)
    5740-XYN1980-061981-062MVS/System Product Version 1 JES3 (MVS/SP 1.2)
    5740-XYS1980-111981-103MVS/System Product Version 1 JES2 (MVS/SP 1.3)
    5740-XYN1980-111981-103MVS/System Product Version 1 JES3 (MVS/SP 1.3)
    5740-XC61981-101983-031MVS/System Product - JES2 Version 2(MVS/Extended Architecture) (MVS/XA)
    5740-XC61981-101983-031MVS/System Product - JES3 Version 2 (MVS/Extended Architecture) (MVS/XA)
    5685-0011988-021988-071MVS/System Product - JES2 Version 3(MVS/Enterprise System Architecture) (MVS/ESA)
    5685-0021988-021988-071MVS/System Product - JES3 Version 3(MVS/Enterprise System Architecture) (MVS/ESA)
    5685-0471990-09-051990-10-261994-03-311MVS/ESA SP - JES2 Version 4
    5685-0471990-09-051992-12-311999-06-302MVS/ESA SP - JES2 Version 4
    5685-0471992-06-181993-03-261999-06-303MVS/ESA SP - JES2 Version 4
    5685-0481990-091990-101999-06-301MVS/ESA SP - JES3 Version 4
    5655-0681994-04-051994-06-242001-01-311MVS/ESA SP - JES2 Version 5
    5655-0681994-09-13
    295-072
    1995-06-302001-03-312MVS/ESA SP - JES2 Version 5
    5655-0691994-09-131995-29-132001-03-312.1MVS/ESA SP - JES3 Version 5
    5655-0691995-02-28
    295-072
    1995-09-292.2MVS/ESA SP - JES3 Version 5
    5645-0011996-02-201996-03-29
    296-018
    2001-01-311OS/390 Version 1
    5645-0011996-02-20
    296-018
    1996-09-272001-01-312OS/390 Version 1
    5645-0011996-09-101997-03-11
    297-040
    2001-03-313OS/390 Version 1
    5647-A011997-03-11
    297-040
    1997-09-26
    297-355
    2001-03-314OS/390 Version 2
    5647-A011997-09-09
    297-355
    1998-03-27
    297-355
    2001-03-31
    298-049
    5OS/390 Version 2
    5647-A011998-02-24
    298-049
    1998-09-25
    298-278
    2002-03-316OS/390 Version 2
    5647-A011998-08-18
    298-278
    1999-03-26
    299-042
    2002-03-317OS/390 Version 2
    5647-A011999-02-22
    299-042
    1999-09-24
    299-234
    2002-09-308OS/390 Version 2
    5647-A012000-02-29
    299-234
    2000-03-31
    200-030
    2003-03-319OS/390 Version 2
    5647-A012000-05-162000-09-29
    200-145
    2004-09-3010OS/390 Version 2
    5694-A012000-10-03
    200-352
    2001-03-302004-03-311z/OS Version 1
    5694-A012001-09-11
    201-248
    2001-10-262004-10-312z/OS Version 1
    5694-A012002-02-19
    202-031
    2002-03-292005-03-313z/OS Version 1
    5694-A012002-08-13
    202-190
    2002-09-272007-03-314z/OS Version 1
    5694-A012004-02-10
    204-017
    2004-03-262007-03-315z/OS Version 1
    5694-A012004-08-10
    204-180
    2004-09-242007-09-306z/OS Version 1
    5694-A012005-07-27
    205-167
    2005-09-302008-09-307z/OS Version 1
    5694-A012006-08-08
    206-190
    2006-09-29 2009-09-308z/OS Version 1
    5694-A012007-08-08
    207-175
    2007-09-282010-09-309z/OS Version 1
    5694-A012008-08-05
    208-186
    2008-09-262011-0910z/OS Version 1
    5694-A012009-08-18
    209-242
    2009-09-252013-0911z/OS Version 1
    5694-A012010-07-22
    210-235
    2010-09-242015-0912z/OS Version 1
    5694-A012011-07-12
    211-252
    2011-09-302017-0913z/OS Version 1
    5650-ZOS2013-07-23
    213-292
    2013-09-302019-091z/OS Version 2
    5650-ZOS2015-07-28
    215-267
    2015-09-302021-092z/OS Version 2
    5650-ZOS2017-07-17
    217-246
    2017-09-272022-09-303z/OS Version 2
    5650-ZOS2019-02-26
    219-013
    2019-09-302024-09-30z/OS Version 2
    5650-ZOS2021-06-27
    221-260
    2021-09-30z/OS Version 2
    5655-ZOS2023-02-282023-09-29z/OS Version 3

    See also

    References

    OS/360 manuals

    DMMAC
  • OS Data Management Macro Instructions - Release 21.7 . GC26-3794-1 . June 1973 . Second . . IBM Systems Reference Library . . June 7, 2022 .
    DMSVC
  • OS Data Management Macro Services Guide - Release 21.7 . GC26-3746-2 . July 1973 . Third . . IBM Systems Reference Library . . June 7, 2022 .
    DMSYS
  • OS Data Management for System Programmers - Release 21 . GC28-6550-11 . April 1973 . Twelfth . . IBM Systems Reference Library . . June 7, 2022 .
    INTRO
  • Book: OS/360 Introduction . GC28-6534-3 . 1972 . Fourth . . Systems Reference Library . . July 7, 2022 .
  • Book: Technical Newsletter GN28-2512 . January 15, 1972 .
    JCLREF
  • IBM System/360 Operating System: Job Control Language Reference - OS Release 21.7 . GC28-6704-4 . August 1976 . Fiflth . . IBM Systems Reference Library . . June 7, 2022 .
    JCLUSER
  • IBM System/360 Operating System: Job Control Language User's Guide . GC28-6703-2 . June 1971 . Third . . IBM Systems Reference Library . . June 7, 2022 .
    LKED
  • IBM OS - Linkage Editor and Loader - Program Numbers 360S-ED-510 - 360S-ED-521 - 360S-LD-547 . GC28-6538-10 . April 1973 . Eleventh . . IBM Systems Reference Library . . June 7, 2022 .
    MFT
  • IBM System/360 Operating System: MFT Guide - OS Release 21.7 . GC27-6939-10 . August 1974 . Eleventh . . IBM Systems Reference Library . . June 7, 2022 .
    MVT
  • IBM System/360 Operating System: MVT Guide - OS Release 21.7 . GC28-6720-5 . August 1974 . Sixth . . IBM Systems Reference Library . . June 7, 2022 .
    SMF
  • OS SMF . GC28-6712-7 . April 1973 . Eighth . . IBM Systems Reference Library . . June 7, 2022 .
    SUP
  • OS Release 21 - IBM System/360 Operating System - Supervisor Services and Macro Instructions . GC28-6646-7 . September 1974 . Eighth . . IBM Systems Reference Library . . June 7, 2022 .
    SYSCB
  • IBM System/360 Operating System: System Control Blocks . GC28-6628-9 . April 1973 . Tenth . . IBM Systems Reference Library . . June 7, 2022 .
    SYSGEN
  • OS System Generation Release 21.8 . GC28-6554-13 . August 1974 . Fourteenth . . IBM Systems Reference Library . . June 7, 2022 .
    SYSPG
  • IBM System/360 Operating System: System Programmer's Guide . GC28-6550-9 . June 1971 . Ninth . . IBM Systems Reference Library . . June 7, 2022 .
    TSO
  • IBM System/360 Operating System: Time Sharing Option Guide - OS Release 21.7 . GC28-6698-7 . April 1973 . Eighth . . IBM Systems Reference Library . . June 7, 2022 .
    TSOCMD
  • IBM System/360 Operating System: Time Sharing Option - Command Language Reference - OS Release 21.7 . GC28-6732-4 . April 1973 . Fifth . . IBM Systems Reference Library . . June 7, 2022 .

    OS/360 logic manuals

    IOS 2nd ed
  • IBM System/360 Operating System - Input/Output Supervisor - Program Number 360S-CI-535 . GY28-6616-1 . April 1967 . Second . . Program Logic . . June 7, 2022 .
    IOS
  • OS I/O Supervisor Logic - Release 21 - Program Number 360S-CI-535 . GY28-6616-9 . February 1972 . Tenth . . Program Logic . . June 7, 2022 .
    IPL
  • IBM System/360 Operating System - Initial Program Loader and Nucleus Initialization Program - Program Number 360S-CI-535 . GY28-6661-5 . March 1972 . Sixth . . Program Logic . . June 7, 2022 .
    PCPJOB
  • IBM System/360 Operating System: Job Management, - Program Logic Manual, - Program Number 360S-CI-505 . GY28-6613-5 . June 1970 . Sixth . . . June 7, 2022 .
    MVTJOB
  • IBM System/360 Operating System: MVT Job Management, Program Logic Manual, - Program Number 360S-CI-535 OS Release 21 . GY28-6660-9 . March 1972 . Tenth . . . June 7, 2022 .
    MVTSUP
  • IBM System/360 Operating System - MVT Supervisor . GY28-6659-7 . May 1973 . Eighth . . Program Logic . June 7, 2022 .

    Further reading

    Manuals

    Books

    Articles

    References in popular culture

    External links

    Notes and References

    1. IBM . IBM Operating System/360 Concepts and Facilities . C28-6535-0 . 1965 .
    2. Just a few years after Atlas Supervisor, Burroughs MCP and GECOS
    3. VMS was unrelated to the VMS system for the DEC VAX.
    4. [Program Temporary Fix]
    5. Web site: DISTRIBUTION OF IBM LICENSED PROGRAMS AND LICENSED PROGRAM MATERIALS AND MODIFIED AGREEMENT FOR IBM LICENSED PROGRAMS . LTR ENUS283-016 . February 8, 1983 . Announcement Letters . IBM . November 18, 2022 .
    6. Encyclopedia: IBM OS/360 OPERATING SYSTEM . https://www.britannica.com/technology/IBM-OS-360 . Encyclopedia Britannica . Mar 11, 2019.
    7. IBM eventually provided interactive facilities for OS/360, e.g., CRJE, ITF, TSO.
    8. IBM failed to meet this goal, and OS/360 required 44 KiB for even limited production.
    9. Web site: System/360 Model 91. IBM Archives. 23 January 2003. IBM.
    10. Johnston . April 1, 2005 . VSE: A Look at the Past 40 Years . z/Journal . April/May 2005 . Thomas Communications, Inc. . https://web.archive.org/web/20090304014628/http://www.zjournal.com/index.cfm?section=article&aid=293 . March 4, 2009 .
    11. Web site: Chuck Boyer. The 360 Revolution.
    12. Web site: Moving To a Total VM Environment. T.Y. Johnston. Stanford Linear Accelerator Center.
    13. Web site: The midseventies SHARE survey. https://web.archive.org/web/20080512004709/http://www.plex86.org/Computer_Folklore/The-midseventies-SHARE-survey.html . 2008-05-12.
    14. IBM. BSL Language Specifications. Z28-6642-0.
    15. http://www.multicians.org/thvv/360-67.html The IBM 360/67 and CP/CMS
    16. E.g., HASP could not run in PCP.
    17. 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.
    18. News: Auslander . M. A. . Jaffe . J. F. . 1973 . Functional structure of IBM virtual storage operating systems Part I: Influences of dynamic address translation on operating system technology . IBM Systems Journal . IBM . 4 .
    19. But not to MFT II
    20. IBM . IBM System/360 Operating System Multiprogramming With a Fixed Number of Tasks (MFT) Concepts and Considerations . GC27-6926-0 . First Edition . October 1966.
    21. IBM . Planning for Multiprogramming With a Fixed Number of Tasks Version II (MFT II) . C27-6939-0 . First Edition . October 1967.
    22. Web site: Ray Saunders . MVS... And Before OS/360 ? . https://web.archive.org/web/20071220191855/http://www.os390-mvs.freesurf.fr/mvs360.htm . 2007-12-20 .
    23. IBM . IBM System/360 Operating System MVT Guide OS Release 21 . GC28-6720-4 . Fifth Edition . March 1972.
    24. Subject to resource availability, e.g., memory for a region, protection key for an application region.
    25. Book: IBM Corporation. OS System Generation Release 21. 1973. 182.
    26. IBM later added the ability to use VTAM for TSO, but only in MVS.
    27. IBM . IBM System/360 Model 65 Functional Characteristics . A22-6884-3 . Fourth Edition . Appendix A. Multiprocessing System . 30–34 . September 1968 .
    28. The dataset should have the unmovable attribute.
    29. Web site: System/370 Announcement . June 30, 1970 . IBM.
    30. Web site: DPD chronology (1970–1974) . 23 January 2003 . IBM. DPD = Data Processing Division, which was responsible for IBM's medium and large systems.
    31. Book: IBM's 360 and Early 370 Systems . MIT Press . 1991 . 0-262-16123-0 . Pugh, E.W. . Johnson, L.R. . Palmer, J.H. . registration .
    32. But not IDAL
    33. IBM . Guide to PL/S Generated Listings . GC28-6786-0 . First Edition . July 1972.
    34. IBM . Guide to PL/S II . GC28-6794-0 . First Edition . May 1974 .
    35. Also shipped with DOS/VS and VM/370.
    36. http://www-03.ibm.com/ibm/history/exhibits/3033/3033_TR01.html 3033 Technical press release
    37. http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/index.jsp?topic=/com.ibm.cics.ts31.doc/dfha1/dfha14f.htm Implementing MVS workload management
    38. OS/360 M65MP and TSS/360 supported SMP.
    39. http://publib.boulder.ibm.com/infocenter/tivihelp/v15r1/index.jsp?topic=/com.ibm.itnetviewforzos.doc/dqal2mst247.htm Job Entry Subsystem 3 (JES3) Automation
    40. Book: VSAM Demystified . Third . March 2013 .
    41. Web site: VSAM Tutorial. Jay Moseley. January 17, 2015.
    42. Web site: ISAM / VSAM Interface . Jay Moseley . 2023-06-03.
    43. Sawyer . Peter . SVC 26 and What It Can Do . SHARE . March 3, 1989 .
    44. Where's the data? Obtaining informating from the catalog . Technical Support . February 2003 . Pryor . Steve . 2017-03-05 . NaSPA .
    45. http://www-03.ibm.com/ibm/history/exhibits/3033/3033_PR01.html 3033 Press announcement
    46. The Service Request Block of MVS is not associated with a specific TCB, despite the name.
    47. I.e., has one or more nondispatchability flags set in the TCB.
    48. I.e., has a non-zero wait count.
    49. Also known as Link-Pack Queue.
    50. Except that there is a separate copy of the PSA for each processor.
    51. SHARE Phoenix 2019 . z/OS Virtual Memory . Session Number: 24662 . March 13, 2019 . https://www.share.org/Events/Past-Events/Proceedings/PID/752/evl/0/TagID/13/TagName/SHARE-Phoenix-2019 . . August 16, 2022 .
    52. IBM System/360 Principles of Operation . A22-6821-7 . September 1968 . Eighth . IBM Systems Reference Library . May 23, 2022 .