Input/Output Configuration Program

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Input/Output Configuration Program
Original authorIBM
DeveloperIBM
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemstand alone, z/OS, z/VM, z/VSE
    PlatformIBM System/370-Extended Architecture
    LicenseProprietary

    The Input/Output Configuration Program is a program on IBM mainframes.[when?]

    History

    [edit | edit source]

    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).

    See also

    [edit | edit source]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).[permanent dead link]
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).[permanent dead link]
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).[permanent dead link]
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).[permanent dead link]
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).[dead link]
    [edit | edit source]