|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.4 (V2R4) / September 30, 2019|
|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 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.
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.
As of September 30, 2019, Version 2 Release 4 is available.