This article needs additional citations for verification .(September 2008) |
System Modification Program/Extended (SMP/E), the proprietary version of System Modification Program (SMP), "is a tool designed to manage the installation of software products on [a] z/OS system and to track the modifications" to those products. [1] : 1 [2] [3] [4] [5]
SMP/E manages multiple software versions, helps apply patches and updates (PTFs), facilitates orderly testing and, if necessary, reversion to a previous state, allows a "trial run" pseudo-installation to verify that actual installation will work, keeps audit and security records to assure only approved software updates occur, and otherwise provides highly evolved, centralized control over all software installation on z/OS.
Although it is possible to design and ship software products that install on z/OS without SMP/E, most mainframe administrators prefer SMP/E-enabled products, at least for non-trivial packages. Using SMP/E typically requires some working knowledge of Job Control Language (JCL), although most products supply sample JCL. The rigorous software management discipline associated with SMP/E typically extends to product documentation as well, with IBM and other vendors supplying a standardized "Program Directory" manual for each software product that precisely aligns with the SMP/E work processes. The Program Directory provides detailed information on pre-requisites and co-requisites, for example.
Use of SMP/E to manage system updates helps ensure system integrity, by making sure that the system is in a consistent state and that changes to that state are properly audited. [6]
![]() | This section needs expansionwith: dates and features for each release. You can help by adding to it. (August 2021) |
IBM introduced SMP in OS/360 and OS/VS [7] to replace semi-manual processes involving tools such as IEBEDIT [8] and IMAPTFLE. [9] IBM introduced 3 subsequent free releases of SMP, with significant changes between releases, especially from SMP3 to SMP4. [10] All four releases store tracking data in partitioned data sets (PDSs).
IBM introduced SMP/E [11] for OS/VS; however, SMP/E Release 2 is the last release to support OS/VS1. SMP/E stores tracking data in VSAM datasets rather than the PDSs that SMP release 1 through 4 use. While originally a separate product, SMP/E is bundled with z/OS.
IBM ultimately introduced similar tools for other operating systems, e.g., Maintain System History Program (MSHP) for DOS/VS, Virtual Machine Serviceability Enhancements Staged (VM/SP SES), (now VMSES/E), for VM/SP through z/VM. [12]
![]() | This section needs expansionwith: SMP1-4. You can help by adding to it. (August 2021) |
All IBM and most non-IBM software is assigned at least one seven character FMID (Function Modification ID) that identifies the piece of software and its release number. This first FMID is called the Base FMID. For Example DB2 Version 9's Base FMID is HDB9910. Separately installable features also have FMIDs (called Dependent FMIDs) that relate in some way to the base product – DB2 English language panels for Version 9's Dependent FMID is JDB9910.
A software package is composed of elements, individual components such as object files (MOD), macros (MAC), sample programs (SAMP), etc. [1] : p.37
The CSI (Consolidated Software Inventory) is a dataset containing the information that SMP/E needs to track the contents of the distribution and target libraries. The CSI contains "metadata" identifying the installed FMIDs and elements, the ID of the most recent update, and pointers to the associated libraries.
A SYSMOD (System Modification) is any modification to the system. This includes: [1] : p.38
Each SYSMOD is assigned a seven character SYSMOD ID to uniquely identify it. When the SYSMOD is installed this ID is recorded in the CSI entry for the element being added or replaced, and is called the RMID (replacement module id).
A simple declarative language called MCS (Modification Control Statements) provides the information to SMP/E identifying the SYSMOD and providing information on how to install it. Each SYSMOD is prefixed with a number of MCS statements that, for example, identify it as an APAR fix or PTF, supply the SYSMOD ID, identify the applicable FMID, etc. [13] : pp.5ff
Prerequisites or prereqs are SYSMODS that are required to be installed before a second can be installed. Corequisites or coreqs are two or more SYSMODS that must be installed together, none can be installed without the others. A SYSMOD supersedes, or sups another if its functionally replaces the first. This prereq, coreq, and sup information is provided in the MCS. A requisite chain is the "sequence of SYSMODs that are directly or indirectly identified as requisites for a given SYSMOD," for example, if A is a prereq for B, and B is a prereq for C, then A and B are the requisite chain for C and both need to be installed before C, although not necessarily in a separate run of SMP/E. [1] : pp.231, 226, 236, 232 Requisite chains can frequently become extremely involved and comprise hundreds of SYSMODS.
HOLDDATA is a set of MCS statements that indicate that specific SYSMODS contain errors or require manual processing outside the scope of SMP/E before they can be installed. [1] : p.229 The user is required to take action to fix the problem, if possible, before installing held SYSMODS.
SMP/E manages two types of libraries. Target libraries (TLIBS) contain the executable code and other information used to run the system. Originally there were a limited number of target libraries: SYS1.LINKLIB for executable programs, SYS1.MACLIB for standard macros, etc., but as of 2012 each software product usually has its own set of target libraries. Distribution Libraries (DLIBS) contain the master copy of each element for a system. Each product (FMID) has its own set of distribution libraries which are normally used only by SMP/E. Libraries in OS/360 and successors, unlike directories in unix, usually contain only one type and format of data. A software package may have object libraries (MOD), ISPF panels (PNL), macro libraries (MAC) and many more.
SMP/E is a single large program which runs as a batch job. A series of ISPF panels can be used to interactively build the SMP/E job stream based on user input. [11] [14]
One common sequence of steps is called RECEIVE-APPLY-ACCEPT from the commands used for each step.
The SMP/E RECEIVE command processes SYSMODs from a source outside of SMP. Previously this might have been a PUT tape distributed by IBM roughly monthly. More recently it might be a collection of SYSMODS downloaded over the internet. The RECEIVE process uses the MCS to create an entry in the CSI for each SYSMOD, marking its status as "RECEIVED", and stores the MCS information and the actual SYSMOD data.
The REJECT command can be used to delete SYSMODS in "RECEIVED" status.
The APPLY command installs one or more received SYSMODS into the appropriate target libraries. The SYSMODS to be applied can be selected by various criteria, for example a single SYSMOD can be selected by SYSMOD ID, all SYSMODS received in a group can be selected by SOURCEID, or all un-applied SYSMODS that have been received can be applied. The requisite chains for the specified SYSMODS are checked and SYSMODS without the proper requisites, in hold status, or that have been superseded are flagged as errors and are not installed. Commonly SMP/E is instructed to also automatically apply any requisites in "RECEIVE" status to minimize these errors. SYSMODS installed have their status changed to "APPLIED" in the CSI. APPLY CHECK can be used to check the SYSMODS to be installed without actually performing the installation.
The RESTORE command can be used to remove an applied SYSMOD that has not been accepted.
The ACCEPT command installs SYSMODS permanently into the distribution libraries and marks their status as "ACCEPTED" in the CSI. Normally ACCEPT is done once the SYSMODS are known to be performing correctly before the next APPLY of service. There is no way in SMP/E to undo an ACCEPT operation except to delete all installation libraries including the CSIs (and to start installation again).
SMP/E is a large, complex program; features and datasets are added with every release. The major SMP/E datasets are: [1] [13]
Multiple Virtual Storage, more commonly called MVS, is the most commonly used operating system on the System/370, System/390 and IBM Z IBM mainframe computers. IBM developed MVS, along with OS/VS1 and SVS, as a successor to OS/360. It is unrelated to IBM's other mainframe operating system lines, e.g., VSE, VM, TPF.
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. 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 that originated in the 1960s and is still in regular use—z/OS is designed for backward compatibility.
In computing, Interactive System Productivity Facility (ISPF) is a software product for many historic IBM mainframe operating systems and currently the z/OS and z/VM operating systems that run 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 SPF/PC.
In computing, a crash, or system crash, occurs when a computer program such as a software application or an operating system stops functioning properly and exits. On some operating systems or individual applications, a crash reporting service will report the crash and any details relating to it, usually to the developer(s) of the application. If the program is a critical part of the operating system, the entire system may crash or hang, often resulting in a kernel panic or fatal system error.
IBM 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.
A patch is data that is intended to be used to modify an existing software resource such as a program or a file, often to fix bugs and security vulnerabilities. A patch may be created to improve functionality, usability, or performance. A patch is typically provided by a vendor for updating the software that they provide.
Disk Operating System/360, also DOS/360, or simply DOS, is the discontinued first member of a sequence of operating systems for IBM System/360, System/370 and later mainframes. It was announced by IBM on the last day of 1964, and it was first delivered in June 1966. In its time, DOS/360 was the most widely used operating system in the world.
In the context of IBM mainframe computers in the S/360 line, a data set or dataset is a computer file having a record organization. Use of this term began with, e.g., DOS/360, OS/360, and is still used by their successors, including the current z/OS. Documentation for these systems historically preferred this term rather than file.
This article discusses support programs included in or available for OS/360 and successors. IBM categorizes some of these programs as utilities and others as service aids; the boundaries are not always consistent or obvious. Many, but not all, of these programs match the types in utility software.
eComStation or eCS is an operating system based on OS/2 Warp for the 32-bit x86 architecture. It was originally developed by Serenity Systems and Mensys BV under license from IBM. It includes additional applications, and support for new hardware which were not present in OS/2 Warp. It is intended to allow OS/2 applications to run on modern hardware, and is used by a number of large organizations for this purpose. By 2014, approximately thirty to forty thousand licenses of eComStation had been sold.
In IBM terminology, a Program temporary fix or Product temporary fix (PTF), sometimes depending on date, is a single bug fix, or group of fixes, distributed in a form ready to install for customers.
In IBM System z9 and successor mainframes, the System z Integrated Information Processor (zIIP) is a special purpose processor. It was initially introduced to relieve the general mainframe central processors (CPs) of specific Db2 processing loads, but currently is used to offload other z/OS workloads as described below. The idea originated with previous special purpose processors, the zAAP, which offloads Java processing, and the IFL, which runs Linux and z/VM but not other IBM operating systems such as z/OS, DOS/VSE and TPF. A System z PU is "characterized" as one of these processor types, or as a CP, or SAP. These processors do not contain microcode or hardware features that accelerate their designated workloads. Instead, by relieving the general CP of particular workloads, they often lead to a higher workload throughput at reduced license fees.
The IBM Basic assembly language and successors is a series of assembly languages and assemblers made for the IBM System/360 mainframe system and its successors through the IBM Z.
In IBM mainframe operating systems, Execute Channel Program (EXCP) is a macro generating a system call, implemented as a Supervisor Call instruction, for low-level device access, where the programmer is responsible for providing a channel program—a list of device-specific commands (CCWs)—to be executed by I/O channels, control units and devices. EXCP for OS/360 and successors is more specifically described in the OS System Programmer's Guide.; EXCP for DOS/360 and successors is more specifically described in DOS Supervisor and I/O Macros. This article mostly reflects OS/360 through z/OS; some details are different for TOS/360 and DOS/360 through z/VSE.
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 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 operating systems to require the computer hardware to include at least one direct access storage device.
System Generation (SysGen) is a two-stage process for installing or updating OS/360, OS/VS1, OS/VS2 (SVS), OS/VS2 (MVS) and chargeable systems derived from them. There are similar processes for, e.g., DOS/360, which this article does not cover. Also, some of the details have changed between releases of OS/360 and many details do not carry over to later systems.
HCL BigFix is an endpoint management platform that automates the discovery, management, and remediation of all endpoints, including virtual, cloud, and on-premise endpoints. HCL BigFix automates the management, patching, and inventory of nearly 100 operating systems.
The IBM System/360 Model 50 is a member of the IBM System/360 family of computers. The Model 50 was announced in April 1964 with the other initial models of the family, and first shipped in August 1965 to the Bank of America.
An APAR (Authorized Program Analysis Report) (pronounced A-PAR, rhymes with far) is an IBM designation of a document intended to identify situations that could result in potential problems. It also serves as a request for the correction of a defect in current releases of IBM-supplied programs.
Data Facility Storage Management Subsystem (DFSMS) is a central component of IBM's flagship operating system z/OS. It includes access methods, utilities and program management functions. Data Facility Storage Management Subsystem is also a collective name for a collection of several products, all but two of which are included in the DFSMS/MVS product.
System Modification Program Extended (SMP/E) is a z/OS tool for managing the installation of software products on a z/OS system and for tracking modifications to those products.
Utility programs allow systems programmers to make operating system program adjustments easily. IBM's SMP/E (System Modification Program Extended), for example, is used to apply corrections to the MVS operating system.
SMP
SMP4
SMPE
SMPEREF