The Input/Output Configuration Program is a program on IBM mainframes. History 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 mode, IBM changed the I/O architecture to allow the Channel Subsystem to handle the channel scheduling that the operating system had to handle in S/370 mode. The new I/O architecture used a 16-bit Channel Path Id (CHPID); the Channel Subsystem was responsible for mapping the CHPID to the channel and device numbers, for queuing I/O requests and for selecting from the available paths. 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) is a program for IBM mainframes that compiles a description of the Channel Subsystem and LPAR configuration, optionally loading it into an Input/Output Configuration Data Set (IOCDS); it recognizes the syntax of MVS Configuration Program (MVSCP) 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 (HCD). See also Channel I/O Computer types History of computing Mainframe computer Timeline of computing References External links Input/Output Configuration Program User's Guide and ESCON Channel-to-Channel Reference, GC38-0401-00 z/OS V1R1.0 HCD Planning, GA22-7525-00 IBM mainframe operating systems IBM mainframe technology