This article may be too technical for most readers to understand.(August 2010) |
| Input/Output Configuration Program | |
|---|---|
| Original author | IBM |
| Developer | IBM |
| Operating system | stand alone, z/OS, z/VM, z/VSE |
| Platform | IBM System/370-Extended Architecture |
| License | Proprietary |
The Input/Output Configuration Program (IOCP) is a program developed by IBM for use on IBM mainframes. The IOCP is used to create and update configuration information for input/output devices stored on Input/Output Configuration Data Sets (IOCDS). It was released with the S/370-XA instruction set architecture made available in April 1983, which introduced a channel subsystem for managing I/O queuing, which was previously handled by the operating system.
Direct use of IOCP has been mostly superseded by the Hardware Configuration Definition (HCD) utility in ESA/390 and z/Architecture machines.
In the original S/360 and S/370 architectures, each processor had its own set of I/O channels and addressed I/O devices with a 12-bit cuu address, containing a 4-bit channel number and an 8-bit unit (device) number to be sent on the channel bus in order to select the device; the operating system had to be configured to reflect the processor and cuu address for each device. The operating system had logic to queue pending I/O on each channel and to handle selection of alternate channels. Initiating an I/O to a channel on a different processor required causing a shoulder tap interrupt on the other processor so that it could initiate the I/O.
Starting with the IBM 3081 and IBM 4381 in S/370-Extended Architecture [1] mode, IBM changed the I/O architecture to allow the Channel Subsystem to handle the channel scheduling that the operating system handled in S/370 mode. The new I/O architecture used a 16-bit subchannel number, a 16-bit device number and an 8-bit Channel Path Identifier (Channel Path Id or CHPID); the Channel Subsystem was responsible for mapping the subchannel number to the channel and device numbers, for queuing I/O requests and for selecting from the available paths.
Starting with z990, IBM introduced the concept of a Logical Channel Subsystem [2] (LCSS); each physical channel (of 1024) has a unique Physical Channel Path Identifier (PCHPID), each LCSS has a CHPID to PCHPID mapping and each LPAR is assigned to one LCSS.
Starting with System z9 running z/OS 1.7, IBM offered the multiple-subchannel set facility, which allowed up to four independent sets of 64 Ki subchannels. [3]
The installation was responsible for defining the Input/Output Configuration Data Sets (IOCDS's), and the operator could select a specific IOCDS as part of a power on reset (POR). Input/Output Configuration Program (IOCP) [4] [5] [6] is a program for IBM mainframes that compiles a description of the Channel Subsystem and LPAR [7] configuration, optionally loading it into an Input/Output Configuration Data Set (IOCDS); it recognizes the syntax of MVS Configuration Program (MVSCP) [8] input, and there is no need to maintain separate input files.
The direct use of IOCP and MVSCP has been mostly supplanted by Hardware Configuration Definition [9] (HCD).