z/OS is a 64-bit operating system for IBM mainframes, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.[NB 1] Like OS/390, z/OS combines a number of formerly separate, related products, some of which are still optional. z/OS offers the attributes of modern operating systems but also retains much of the functionality originating in the 1960s and each subsequent decade that is still found in daily use (backward compatibility is one of z/OS's central design philosophies). z/OS was first introduced in October 2000.
|Written in||primarily PL/X, HLASM, and C/C++|
|Source model||Mostly closed source|
|Initial release||March 30, 2001 (V1R1, announced October, 2000)|
|Latest release||Version 2.3 (V2R3) / September 29, 2017|
|Marketing target||Enterprise / Mainframes|
|Available in||English and other languages|
|Kernel type||Monolithic (uniquely hardware-assisted)|
|Default user interface||ISPF, z/OS Management Facility|
|License||Proprietary monthly license charge (MLC); pricing available based on actual use (VWLC, EWLC, AWLC, EAWLC, IWP); reduced pricing options (zELC, zNALC, "Solution Edition") for many applications|
|Official website||IBM: z/OS|
z/OS supports stable mainframe systems and standards such as CICS, COBOL, IMS, DB2, RACF, SNA, IBM MQ, record-oriented data access methods, REXX, CLIST, SMP/E, JCL, TSO/E, and ISPF, among others. However, z/OS also supports 64-bit Java, C, C++, and UNIX (Single UNIX Specification) APIs and applications through UNIX System Services – The Open Group certifies z/OS as a compliant UNIX operating system – with UNIX/Linux-style hierarchical HFS[NB 2] and zFS file systems. As a result, z/OS hosts a broad range of commercial and open source software. z/OS can communicate directly via TCP/IP, including IPv6, and includes standard HTTP servers (one from Lotus, the other Apache-derived) along with other common services such as FTP, NFS, and CIFS/SMB. Another central design philosophy is support for extremely high quality of service (QoS), even within a single operating system instance, although z/OS has built-in support for Parallel Sysplex clustering.
z/OS has a Workload Manager (WLM) and dispatcher which automatically manages numerous concurrently hosted units of work running in separate key-protected address spaces according to dynamically adjustable goals. This capability inherently supports multi-tenancy within a single operating system image. However, modern IBM mainframes also offer two additional levels of virtualization: LPARs and (optionally) z/VM. These new functions within the hardware, z/OS, and z/VM — and Linux and OpenSolaris support — have encouraged development of new applications for mainframes. Many of them utilize the WebSphere Application Server for z/OS middleware.
From its inception z/OS has supported tri-modal addressing (24-bit, 31-bit, and 64-bit). Up through Version 1.5, z/OS itself could start in either 31-bit ESA/390 or 64-bit z/Architecture mode, so it could function on older hardware albeit without 64-bit application support on those machines. (Only the newer z/Architecture hardware manufactured starting in the year 2000 can run 64-bit code.) IBM support for z/OS 1.5 ended on March 31, 2007. Now z/OS is only supported on z/Architecture mainframes and only runs in 64-bit mode. Application programmers can still use any addressing mode: all applications, regardless of their addressing mode(s), can coexist without modification, and IBM maintains commitment to tri-modal backward compatibility. However, increasing numbers of middleware products and applications, such as DB2 Version 8 and above, now require and exploit 64-bit addressing.
IBM markets z/OS as its flagship operating system, suited for continuous, high-volume operation with high security and stability.
z/OS is available under standard license pricing as well as via IBM Z New Application License Charges (zNALC) and "IBM Z Solution Edition," two lower priced offerings aimed at supporting newer applications ("new workloads"). U.S. standard commercial z/OS pricing starts at about $125 per month, including support, for the smallest zNALC installation running the base z/OS product plus a typical set of optional z/OS features.
z/OS introduced Variable Workload License Charges (VWLC) and Entry Workload License Charges (EWLC) which are sub-capacity billing options. VWLC and EWLC customers only pay for peak monthly z/OS usage, not for full machine capacity as with the previous OS/390 operating system. VWLC and EWLC are also available for most IBM software products running on z/OS, and their peaks are separately calculated but can never exceed the z/OS peak. To be eligible for sub-capacity licensing, a z/OS customer must be running in 64-bit mode (which requires z/Architecture hardware), must have completely eliminated OS/390 from the system, and must e-mail IBM monthly sub-capacity reports. Sub-capacity billing substantially reduces software charges for most IBM mainframe customers. Advanced Workload License Charges (AWLC) is the successor to VWLC on mainframe models starting with the zEnterprise 196, and EAWLC is an option on zEnterprise 114 models. AWLC and EAWLC offer further sub-capacity discounts.
Within each address space, z/OS typically permits the placement of only data, not code, above the 2 GB "bar". z/OS enforces this distinction primarily for performance reasons. There are no architectural impediments to allowing more than 2 GB of application code per address space. IBM has started to allow Java code running on z/OS to execute above the 2 GB bar, again for performance reasons.
Starting with z/OS version 2 release 3, code may be placed and executed above the 2 GB "bar". However, very few z/OS services may be invoked from above the "bar".
Memory is obtained as "Large Memory Objects" in multiples of 1 MB (with the expectation that applications and middleware will manage memory allocation within these large pieces). There are three types of large memory objects:
Generation Data Group (GDG) is a special type of file used by IBM's mainframe operating system z/OS. The actual GDG is a description of how many generations of a file are to be kept and how old the oldest generation must be at least before it is deleted.
Whenever a new generation is created, the system checks whether one or more obsolete generations are to be deleted and, if necessary, deletes them.
(0) is the most recent version
(-1), (-2), ... are previous generations
(+1) a new generation (see DD)
Another use of GDGs is to be able to address all generations simultaneously within a JCL script without having to know the number of currently available generations. To do this, you have to omit the parentheses and the generation number in the JCL when specifying the dataset.
Creation of a standard GDG for five safety scopes, each at least 35 days old:
//STEP1 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DEFINE GDG (NAME('DB2.FULLCOPY.DSNDB04.TSTEST') LIMIT(5) SCRATCH FOR(35)) /*
Delete a standard GDG:
//STEP3 EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * DELETE DB2.FULLCOPY.DSNDB04.TSTEST GDG FORCE /*
IBM supports z/OS release coexistence and fallback on an "N+2" basis. For example, IBM customers running Release 9 can upgrade directly to Release 11 or Release 10, and both releases can operate concurrently within the same Sysplex (cluster) and without conflict using the same datasets, configurations, security profiles, etc. (coexistence), as long as so-called "toleration maintenance" is installed in the older release. If there is a problem with Release 11, the customer can return to Release 9 without experiencing dataset, configuration, or security profile compatibility problems (fallback) until ready to try moving forward again. z/OS customers using Parallel Sysplex (clustering) can operate N+2 releases (e.g. Release 9 and Release 11, or Release 9 and Release 10) in mixed release configurations, in production, as long as required to complete release upgrades. Supported release mixing within a cluster is one of the key strategies of z/OS for avoiding service outages.
IBM's standard support period for each z/OS release is three years. Most z/OS customers take advantage of the N+2 support model, and skip every other release. Thus most z/OS customers are either "odd" or "even."
IBM releases individual small enhancements and corrections[NB 4] (a.k.a. PTFs) for z/OS as needed, when needed. IBM labels critical PTFs as "HIPER" (High Impact PERvasive). IBM also "rolls up" multiple patches into a Recommended Service Update (RSU). RSUs are released periodically (in the range of every one to three months) and undergo additional testing. Although z/OS customers vary in their maintenance practices, IBM encourages every z/OS customer to adopt a reasonable preventive maintenance strategy, to avoid known problems before they might occur.
As of July 28, 2015, Version 2 Release 2 is available.
As of September 29, 2017, Version 2 Release 3 is available.
Customer Information Control System (CICS) is a family of mixed language application servers that provide online transaction management and connectivity for applications on IBM mainframe systems under z/OS and z/VSE.
CICS is middleware designed to support rapid, high-volume online transaction processing. A CICS transaction is a unit of processing initiated by a single request that may affect one or more objects. This processing is usually interactive (screen-oriented), but background transactions are possible.
CICS provides services that extend or replace the functions of the operating system and are more efficient than the generalized services in the operating system and simpler for programmers to use, particularly with respect to communication with diverse terminal devices.
Applications developed for CICS may be written in a variety of programming languages and use CICS-supplied language extensions to interact with resources such as files, database connections, terminals, or to invoke functions such as web services. CICS manages the entire transaction such that if for any reason a part of the transaction fails all recoverable changes can be backed out.
While CICS has its highest profile among financial institutions such as banks and insurance companies, many Fortune 500 companies are reported to run CICS along with many government entities. CICS is also widely used by many smaller organizations. CICS is used in bank-teller applications, ATM systems, industrial production control systems, insurance applications, and many other types of interactive applications.
Recent CICS Transaction Server enhancements include support for Web services and Java, event processing, Atom feeds, and RESTful interfaces. CICS Transaction Server 5.5, which generally became available on December 14, 2018, reinforced CICS reputation as a mixed language application server, with the introduction of Node.JS support as well as new and enhanced capabilities in security, resilience and system management.Code page 930
CCSID 930 (sometimes known as CP930 or codepage 930) is one of several Japanese EBCDIC code pages created by IBM for representation of Japanese text. It is commonly used on IBM z/OS and IBM System i operating system.
It encodes halfwidth Katakana, fullwidth Katakana, Hiragana and Kanji.Episode filesystem
Episode is a POSIX compliant file system most commonly known for its use in DCE/DFS file servers. It was designed to achieve the goals of portability, scaling, and to make more efficient use of available system bandwidth. It used a variety of methods to achieve these goals, one of which was its use of metadata logging, designed to enhance the file system's performance.
The Episode file system is the basis for the IBM z/OS POSIX-compatible file system called zFS.IBM Db2 Family
IBM Db2, announced in 2017, is the successor name to the 1980s-introduced DB2.The names DB2(tm) and Db2(tm) refer to database-server products developed by IBM. These products all support the relational model, but in recent years, some products have been extended to support object-relational features and non-relational structures like JSON and XML.
Although IBM declared that "z/OS is the main operating system for ... Db2", as of 2017 it is also available in the form of Database-as-a-Service (DBaaS).IBM Software Configuration and Library Manager
IBM Software Configuration and Library Manager (SCLM) is an IBM software product that is a component of ISPF.
It was first introduced with Version 3 of ISPF and was an upgrade to a previous component called LMF (Library Management Facility) that was introduced in version 2 of ISPF. It is a component of MVS, OS/390 and z/OS operating systems/platforms. The SCLM consists of two products: a library manager and a configuration manager and provides the following functions:
Manages changes to application data
Performs auditing and versioning
Controls the movement of application data from one set of staging libraries to the next (known as Promote in SCLM)
Tracks application components
Provides an intelligent build function
Provides secure promote
Integrates with both Tivoli Information Management for z/OS and WebSphere Studio Asset Analyzer for z/OSIBM WebSphere Application Server
WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java-based web applications. It is the flagship product within IBM's WebSphere software suite. It was initially created by Donald F. Ferguson, who later became CTO of Software for Dell. The first version was launched in 1998.ISPF
In computing, Interactive System Productivity Facility (ISPF) is a software product for many historic IBM mainframe operating systems and currently the z/OS operating system that runs on IBM mainframes. It includes a screen editor, the user interface of which was emulated by some microcomputer editors sold commercially starting in the late 1980s, including SPFPC.
ISPF primarily provides an IBM 3270 terminal interface with a set of panels. Each panel may include menus and dialogs to run tools on the underlying Time Sharing Option (TSO). Generally, these panels just provide a convenient interface to do tasks—most of them execute modules of IBM mainframe utility programs to do the actual work. ISPF is frequently used to manipulate z/OS data sets via its Program Development Facility (ISPF/PDF).
ISPF is user-extensible and it is often used as an application programming interface. Many vendors have created products for z/OS that use the ISPF interface.
An early version was called merely SPF and introduced in MVS system in 1974. Originally this stood for Structured Programming Facility, since it was introduced about the same time as structured programming concepts, but later the name was changed to System Productivity Facility. In 1985 IBM ported ISPF/PDF to its VM/SP operating system, where it was able to use either PDF or XEDIT as an editor.ISPF can also be run from a z/OS batch job.Job Control Language
Job Control Language (JCL) is a name for scripting languages used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem.More specifically, the purpose of JCL is to say which programs to run, using which files or devices for input or output, and at times to also indicate under what conditions to skip a step.
There are two distinct IBM Job Control languages:
one for the operating system lineage that begins with DOS/360 and whose latest member is z/VSE; and
the other for the lineage from OS/360 to z/OS, the latter now including JES extensions, Job Entry Control Language (JECL).They share some basic syntax rules and a few basic concepts, but are otherwise very different.Linux on z Systems
Linux on IBM Z (or Linux on z for short, and previously Linux on z Systems) is the collective term for the Linux operating system compiled to run on IBM mainframes, especially IBM Z and IBM LinuxONE servers. Similar terms which imply the same meaning are Linux on zEnterprise, Linux on zSeries, Linux/390, Linux/390x, etc. The terms zLinux or z/Linux are also sometimes used, but these terms are discouraged by IBM as they create the implication of an IBM-offered or IBM-distributed version of Linux, which is incorrect. (Further, "zLinux" without the slash is also incorrect, as it's software, and software takes a slash: z/VM, z/OS, z/VSE, etc.; hardware does not: z900, z13, etc.)MVS
Multiple Virtual Storage, more commonly called MVS, was the most commonly used operating system on the System/370 and System/390 IBM mainframe computers. It was developed by IBM, but is unrelated to IBM's other mainframe operating systems, e.g., VSE, VM, TPF.
First released in 1974, MVS was extended by program products with new names multiple times:
first to MVS/SE (MVS/System Extensions),
next to MVS/SP (MVS/System Product) Version 1,
next to MVS/XA (MVS/eXtended Architecture),
next to MVS/ESA (MVS/Enterprise Systems Architecture),
then to OS/390 and
finally to z/OS (when 64-bit support was added with the zSeries models). IBM added UNIX support (originally called OpenEdition MVS) in MVS/SP V4.3 and has obtained POSIX and UNIX™ certifications at several different levels from IEEE, X/Open and The Open Group. The MVS core remains fundamentally the same operating system. By design, programs written for MVS run on z/OS without modification.At first IBM described MVS as simply a new release of OS/VS2, but it was, in fact a major rewrite. OS/VS2 release 1 was an upgrade of OS/360 MVT that retained most of the original code and, like MVT, was mainly written in assembly language. The MVS core was almost entirely written in Assembler XF, although a few modules were written in PL/S, but not the performance-sensitive ones, in particular not the Input/Output Supervisor (IOS). IBM's use of "OS/VS2" emphasized upwards compatibility: application programs that ran under MVT did not even need recompiling to run under MVS. The same Job Control Language files could be used unchanged; utilities and other non-core facilities like TSO ran unchanged. IBM and users almost unanimously called the new system MVS from the start, and IBM continued to use the term MVS in the naming of later major versions such as MVS/XA.OS/360 and successors
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 heavily influenced by the earlier IBSYS/IBJOB and Input/Output Control System (IOCS) packages. It was one of the earliest 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 as of 2018 and maintain application-level compatibility.
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)
Primary Control Program (PCP)
Multiple Sequential Schedulers (MSS)
Multiprogramming with a Fixed number of Tasks (MFT)
Multiple Priority Schedulers (MPS)
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.
The other major operating system for System/360 hardware was DOS/360.
OS/360 is in the public domain 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 GNU/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.Pipeline (software)
In software engineering, a pipeline consists of a chain of processing elements (processes, threads, coroutines, functions, etc.), arranged so that the output of each element is the input of the next; the name is by analogy to a physical pipeline. Usually some amount of buffering is provided between consecutive elements. The information that flows in these pipelines is often a stream of records, bytes, or bits, and the elements of a pipeline may be called filters; this is also called the pipes and filters design pattern. Connecting elements into a pipeline is analogous to function composition.
Narrowly speaking, a pipeline is linear and one-directional, though sometimes the term is applied to more general flows. For example, a primarily one-directional pipeline may have some communication in the other direction, known as a return channel or backchannel, as in the lexer hack, or a pipeline may be fully bi-directional. Flows with one-directional tree and directed acyclic graph topologies behave similarly to (linear) pipelines – the lack of cycles makes them simple – and thus may be loosely referred to as "pipelines".Single UNIX Specification
The Single UNIX Specification (SUS) is the collective name of a family of standards for computer operating systems, compliance with which is required to qualify for using the "UNIX" trademark. The core specifications of the SUS are developed and maintained by the Austin Group, which is a joint working group of IEEE, ISO JTC 1 SC22 and The Open Group. If an operating system is submitted to The Open Group for certification, and passes conformance tests, then it is deemed to be compliant with a UNIX standard such as UNIX 98 or UNIX 03.
Very few BSD and Linux-based operating systems are submitted for compliance with the Single UNIX Specification, although system developers generally aim for compliance with POSIX standards, which form the core of the Single UNIX Specification.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.Transaction Processing Facility
Transaction Processing Facility (TPF) is an IBM real-time operating system for mainframe computers descended from the IBM System/360 family, including zSeries and System z9.
TPF delivers fast, high-volume, high-throughput transaction processing, handling large, continuous loads of essentially simple transactions across large, geographically dispersed networks.
While there are other industrial-strength transaction processing systems, notably IBM's own CICS and IMS, TPF's specialty is extreme volume, large numbers of concurrent users, and very fast response times. For example, VISA credit card transaction processing during the peak holiday shopping season.
The TPF passenger reservation application PARS, or its international version IPARS, is used by many airlines.
One of TPF's major optional components is a high performance, specialized database facility called TPF Database Facility (TPFDF).A close cousin of TPF, the transaction monitor ALCS, was developed by IBM to integrate TPF services into the more common mainframe operating system MVS, now z/OS.UNIX System Services
UNIX System Services (USS) is a required, included component of z/OS. USS is a certified UNIX operating system implementation (XPG4 UNIX® 95) optimized for mainframe architecture. It is the first UNIX 95 to not be derived from the AT&T source code. Through integration with the rest of z/OS, additional Time Sharing Option (TSO) commands are available alongside the usual UNIX services, making it possible to process UNIX files using ISPF. Extensions in JCL make it possible to use these files in batch processing.
UNIX System Services allows UNIX applications from other platforms to run on IBM System z mainframes running z/OS. In many cases only a recompile is necessary, although additional effort may be advisable for z/OS integration (such as SMP/E installation support). While USS supports ASCII and Unicode, and there's no technical requirement to modify ASCII and Unicode UNIX applications, many z/OS users often prefer EBCDIC support in their applications including those running in USS. Consequently, USS provides application and administrator services for converting to/from EBCDIC. Programs running under USS have full, secure access to the other internal functions of z/OS. Database access (DB2 via Call Attach) is one example of how USS can access services found elsewhere in z/OS. Naturally such programs cannot be ported to non-mainframe platforms without rewriting if they use these z/OS-specific services. Conversely, if a program adheres to UNIX® standards such as POSIX and ANSI C, it will be easier to move it between different UNIX® operating systems including z/OS UNIX®.
The file systems for USS (the older HFS and the now preferred zFS), which support UNIX-style long filenames, appear as special VSAM datasets to the rest of z/OS. Numerous core z/OS subsystems and applications rely on UNIX System Services, including the z/OS Management Facility, XML parsing and generation services, OpenSSH, the IBM HTTP Server for z/OS, the z/OS SDK for Java, and some z/OS PKI services as examples. USS also provides a shell environment, OMVS.
USS's predecessor was an operating system component called OpenEdition MVS, first implemented in MVS/ESA 4.3 and enhanced in MVS/ESA 5.1. OpenEdition MVS only supported the POSIX standards.
IBM continues to enhance UNIX System Services. In 2007, IBM announced z/OS 1.9 which includes several new USS features, including partial alignment with the newer Single UNIX Specification Version 3 (UNIX 03). Typically every release of z/OS includes enhancements to USS.VSE (operating system)
z/VSE (Virtual Storage Extended) is an operating system for IBM mainframe computers, the latest one in the DOS/360 lineage, which originated in 1965. Announced Feb. 1, 2005 by IBM as successor to VSA/ESA 2.7, then-new z/VSEwas named to reflect the new "System z" branding for IBM's mainframe product line.It is less common than prominent z/OS and is mostly used on smaller machines.Z/Architecture
z/Architecture, initially and briefly called ESA Modal Extensions (ESAME), is IBM's 64-bit instruction set architecture implemented by its mainframe computers. IBM introduced its first z/Architecture-based system, the z900, in late 2000. Later z/Architecture systems include the IBM z800, z990, z890, System z9, System z10, zEnterprise 196, zEnterprise 114, zEC12, zBC12, z13, and z14.
z/Architecture retains backward compatibility with previous 32-bit-data/31-bit-addressing architecture ESA/390 and its predecessors all the way back to the 32-bit-data/24-bit-addressing System/360. The IBM z13 is the last z Systems server to support running an operating system in ESA/390 architecture mode. However, all 24-bit and 31-bit problem-state application programs originally written to run on the ESA/390 architecture will be unaffected by this change.
Each z/OS address space, called a 64-bit address space, is 16 exabytes in size. A z/OS address space is 8 billion times the size of the former 2-gigabyte address space.ZFS (z/OS file system)
z/OS File System (zFS) is a POSIX-style hierarchical file system for IBM's z/OS operating system for z System mainframes, a successor to that operating system's HFS.zFS technology was first released in 1995 as the Local File System, a lower layer of the DCE Distributed File System. It was available on MVS/ESA V5R2.2 and all OS/390 releases. DFS/LFS was provided as a part of the DCE feature, not part of the base operating system.
As a separate feature (outside the DCE feature), zFS was initially released for z/OS as PTFs (patches) for z/OS 1.2, with backports available for z/OS 1.1 and OS/390 2.10. Beginning with z/OS 1.3, zFS is included as a standard feature and is being actively developed.
|Desktop / Workstation|
|Server / Mainframe|
|Point of Sale|