|Written in||primarily PL/X, HLASM, and C/C++|
|Source model||Closed source with open source components.|
|Initial release||March 30, 2001(V1R1, announced October, 2000)|
|Latest release||Version 2.5 (V2R5) / September 30, 2021|
|Marketing target||Enterprise / Mainframes|
|Available in||English and other languages|
|Kernel type||Monolithic (uniquely hardware-assisted)|
|Userland||MVS, UNIX System Services|
|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|
|History of IBM mainframe operating systems|
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.[NB 1] Like OS/390, z/OS combines a number of formerly separate, related products, some of which are still optional. z/OS has the attributes of modern operating systems, but also retains much of the older functionality originated in the 1960s and still in regular use—z/OS is designed for backward compatibility.
z/OS supports[NB 2] stable mainframe facilities such as CICS, COBOL, IMS, PL/I, IBM 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 implements 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 3][NB 4] and zFS file systems. These compatibilities make z/OS capable of running a 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 SSH, FTP, NFS, and CIFS/SMB. z/OS is designed for high quality of service (QoS), even within a single operating system instance, and has built-in Parallel Sysplex clustering capability.
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.
From its inception z/OS has had 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 the ability to run 64-bit applications 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, and since then, z/OS is supported only on z/Architecture mainframes and runs only 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 and 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 US$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 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.
z/OS supports 64-bit addresses for both virtual and real addresses. 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:
z/OS Encryption Readiness Technology (zERT) monitors, records, and reports details of z/OS cryptographic network protection. It is a feature of z/OS V2R3 (and later releases) Communications Server component.
With zERT, the TCP/IP stack acts as a focal point in collecting and reporting the cryptographic security attributes of IPv4 and IPv6 application traffic that is protected using the TLS/SSL, SSH and IPSec cryptographic network security protocols. The collected connection level data is written to SMF in new SMF 119 subtype 11 records for analysis.
In certain environments, the volume of SMF 119 subtype 11 records can be large. The zERT aggregation function provides an alternative SMF view of the collected security session data. This alternate view is written in the form of new SMF 119 subtype 12 records that summarize the use of security sessions by many application connections over time and which are written at the end of each SMF interval. This alternate view condenses the volume of SMF record data while still providing all the critical security information.
z/OS Management Facility (z/OSMF) is enhanced to provide a plug-in named IBM zERT Network Analyzer. IBM zERT Network Analyzer is a web-based graphical user interface that z/OS network security administrators can use to analyze and report on data reported in zERT Summary records. With the zERT Network Analyzer, a z/OS network security administrator (typically a systems programmer with responsibility over z/OS Communications Server) can import SMF zERT summary records into a Db2 for z/OS database and then build and run custom queries against that data.
The z/OS Generation Data Group (GDG) is a description of how many generations of a file are to be kept and at what age a generation will be deleted. Whenever a new generation is created, the system checks whether one or more obsolete generations are to be deleted.
The purpose of GDGs is to automate archival, using the command language JCL, the file name given is generic. When DSN appears, the GDG name appears along with the history number, where
(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 /*
Operational data is data that z/OS system produces when it runs. This data indicates the health of the system and can be used to identify sources of performance and availability issues in the system. IBM Z Operational Log and Data Analytics and IBM Z Anomaly Analytics with Watson collect IT operational data from z/OS systems, analyze and provide insights about the operational data.
IBM Z Operational Log and Data Analytics collects IT operational data from z/OS systems, transforms it to a consumable format, and streams it to third-party enterprise analytics platforms like the Elastic Stack and Splunk, or to the included operational data analysis platform. The included insights can help to visualize and search operational data to help identify the cause of operational issues.
IBM Z Anomaly Analytics with Watson collects IT operational data from z/OS systems, uses historical IBM Z metric and log data to build a model of normal operational behavior, then analyzes real-time operational data through comparison with the model of normal operations to detect anomalous behavior, and notifies IT operations of the anomalous behavior to identify incidents that might lead to business disruption.
IBM Z Operational Log and Data Analytics collects and analyzes both structured and unstructured data, including the following types of operational data:
IBM Z Anomaly Analytics with Watson collects data from multiple IBM Z systems and subsystems, including IBM Db2 for z/OS, IBM CICS Transaction Server for z/OS and IBM MQ for z/OS. The following types of operational data are collected: