Subsystem And Other MVS Facilities - IBM Mainframe

So far in this chapter, we have seen facilities that are a direct part of the MVS operating system or its job entry subsystems, JES2 and JES3. In addition, though, a complete production MVS system contains a variety of other software products. As a result, in addition to being familiar with the critical components of MVS itself, you also need to know about the other IBM software products that make up a complete system.

Some of the facilities we will describe here are considered to be subsystems. Strictly speaking, a subsystem is a software product that operates in its own address space under the control of MVS. What it does within the address space, however, is of no concern to MVS. Within an address space, a subsystem may provide services that duplicate services provided by the operating system. For example, two of the subsystems you will learn about here provide multiprogramming facilities that duplicate the multiprogramming facilities provided by MVS.

Every MVS installation has a primary subsystem that you already know about: it is the job entry subsystem, JES2 or JES3. In other words, JES2 and JES3 both run in their own address space. And, they provide services that are normally associated with an operating system: job management and spooling.

The distinction between a subsystem and a component of MVS is more technical than practical. Some of the components we will see are not subsystems, but they provide important services and have as broad a scope as a subsystem.


TSO, which stands for Time Sharing Option, is a subsystem that lets terminal users invoke MVS facilities interactively. TSO does this by treating each terminal user as a job. In fact, when you log on to TSO, TSO creates a JCL stream and submits it to JES2/ JES3 for processing. Each TSO user is given a unique address space and can allocate data sets and invoke programs just as a batch job can.

ISPF, which stands for Interactive System Productivity Facility, runs as a part of TSO and takes advantages of the full-screen capabilities of 3270 terminals. You will most likely use a part of ISPF called PDF, or Program Development Facility, as you develop programs and job streams.


For a system to support any terminal devices, local or remote, it must include a telecommunications (TC) access method. Although you can write assembler language programs that use TC access method services directly, you are more likely to use them through another IBM software product that is designed to manage terminal processing, such as TSO. Although there are other, lower function TC access methods, most MVS installations use the most powerful TC access method—the Virtual Telecommunication Access Method, or VTAM.

VTAM is actually a part of a comprehensive telecommunications product called SNA, which stands for System Network Architecture. VTAM is considered to be a subsystem because it runs in its own address space. As a result, VTAM is able to provide centralized control over all of the terminal devices attached to an MVS system. Each VTAM terminal device is allocated to the VTAM address space. VTAM application programs, which run in other address spaces, communicate with those terminal devices indirectly. They issue requests to VTAM, which in turn services the request for the appropriate terminal. TSO and other telecommunications programs like CICS/VS and IMS DC are themselves VTAM application programs.


CICS (Customer Information Control System) works with VTAM to support large networks of terminals that can run interactive appliitetion programs written in a variation of the COBOL programming language. (CICS applications can also be written in assembler, PL/I, and C/370, but COBOL is by far the most popular.) CICS runs in its own address space and provides multiprogramming within its address space. In other words, CICS manages the execution of many application programs that communicate with terminal devices; multiprogramming within a CICS address space is transparent to, and subordinate to, the multiprogramming operation of MVS itself.


IMS (Information Management System) consists of two components—DL/I and Data Communications. The DL/I component of IMS lets users set up and maintain complex hierarchical databases that can be processed by application programs run as batch jobs. If the optional Data Communications component of IMS (IMS DC) is used, you can code interactive application programs that use IMS databases and communicate with terminals. Like CICS, IMS DC implements its own multiprogramming that is transparent to MVS. IMS DC multiprogramming is more like MVS multiprogramming than CICS multiprogramming. The IMS control region (in its own address space) schedules application programs for execution in dependent regions (also in separate address spaces). The control region also manages communication between the application programs, data bases, and terminals.


Like IMS, DB2 (which stands for Database 2) is a database management system. It manages relational databases that can be accessed using SQL (Structured Query Language). Depending on an installation's needs. DB2 may or may not be set up so that an independent address space is utilized to manage concurrent access to DB2 data. Unlike IMS, DB2 does not provide its own online environment. Instead, online DB2 programs are generally written so that they run under CICS.

Resource Access Control Facility (RACF)

An important consideration in any MVS installation is maintaining adequate security so data cannot be accessed by unauthorized users. To provide that security, most installations use a comprehensive security package called Resource Access Control Facility, or RACF. RACF identifies both users and resources, such as data sets. Then, whenever a user attempts to access a resource, RACF ensures that the user has the correct authority. RACF is not a subsystem, but rather a set of routines stored in the PLPA that are invoked by a user's address space whenever needed.

System Management Facility (SMF)

System Management Facility (SMF) is a component of IBM's z/OS for mainframe computers, providing a standardised method for writing out records of activity to a file (or data set to use a z/OS term). SMF provides full "instrumentation" of all baseline activities running on that IBM mainframe operating system, including I/O, network activity, software usage, error conditions, processor utilization, etc.

One of the most prominent components of z/OS that uses SMF is the IBM Resource Measurement Facility (RMF). RMF provides performance and usage instrumentation of resources such as processor, memory, disk, cache, workload, virtual storage, XCF and Coupling Facility. RMF is technically a priced (extra cost) feature of z/OS. BMC sells a competing alternative, CMF.

SMF forms the basis for many monitoring and automation utilities. Each SMF record has a numbered type (e.g. "SMF 120" or "SMF 89"), and installations have great control over how much or how little SMF data to collect. Records written by software other than IBM products generally have a record type of 128 or higher. Some record types have subtypes - for example Type 70 Subtype 1 records are written by RMF to record CPU activity.

Language Translators, Linkage Editor and Loader

Language translators are the programs that convert source programs into object modules. One language translator, the assembler, is supplied as a part of MVS. Other language translators, like the COBOL, and PL/I compilers, are separate products. The purpose of the language translators is to reduce the programming time required to prepare a working object program. As a result, they all print diagnostic (error) listings to help the programmer correct clerical errors. In addition, they often provide debugging tools to help the programmer test the program.

The linkage editor program, supplied as a part of MVS, converts object modules into executable programs called load modules that can be loaded into virtual storage'and executed. The loader program is like the linkage editor except that instead of creating a permanent load module, the loader program creates a temporary load module, executes it, and then deletes it. The loader is used mostly during program testing.

Utility programs

Certain routine processing functions, such as copying files and sorting records within a file, are common to most computer installations. As a result, MVS provides a set of general-purpose utility programs (or utilities) to perform those functions. When you invoke a utility program, you can supply parameters to specify the exact processing it should do. One of the most used MVS utility program is lEBGENER, which produces a copy of a data set.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

IBM Mainframe Topics