In order devices
requests
several
l:locks
types:
to centrolthe activity of the I/O of the system and schedule I/O uFon them, I/O control uses tYFes cf control blocks. These
canl:e separated into two basic • Static blocks that describe the
components of theI/O system. • Dynamic l:lccks that represent active and pending requests for I/O operations.
TheI/O cemponents of the real system
are described by one control block for each
channel, control unit, and device availableto the control program. Units present but
not represented by control blocks are not
available for either user-initiated or
centrol program-initiated operations.
REALCHANNEL CONTROL BLOCKS For each channel attached to the system
there exists a RealChannel Control Block (RCHELOK) which contains: • The channel Fortion of the address of
its attached units,• Status flags indicating the channel's ayailability for scheduling. • A two-way queue anchor pointing to the
list ofI/O requests waiting to use the
channel.
In additien, eachRCHBLOK contains 32
halfword indexes, arranged in ascending
address order, that represent the
displacement into the RealCentral Unit table of the control blocks for the control
units attached to the channel. The 32
entries are required because the control
unit addressmay be made up of five bits
from the unit address. To locate the
controltlock for a given unit:
1. Index into the table
displacement equal
control unit address.
2. Load the index value.
in theRCHBLOK a
to twice the
3. Add the value to the base address of
the RealControl Unit Table. Real I/O Control Blocks BEAL CONTROL UNIT BLCCKS The Real Control Unit Table is composed of Real Control Unit Blocks (RCUBLOK), one for
each control unit on the system. These
blecks are similar tothe RCHELOK in that
they contain the control unit portion of
the address and status flags, and a peinter
to a queue ofI/O requests. In addition,
theRCUBIOK contains a pointer te the RCEELOK for the channel to which it is
attached.The RCOBLOK ccntains a table of
16 halfwerd entries that represent the
displacment into the Real Device Tableof its attached devices. This table is
referenced in the same manner as the table
in theRCEBLOK. REAL DEVICE CCNTROL BLCCKS Each device and 3270 remote communications
line in the system is represented by a Realtevice Control Block (REEVELCK), contains
the device portion of the unit address and
status flags similar to those inRCHBLCK and RCUELCK. There is alse a pointer fer
those operations that are waiting fer the
device to become available. Fields that
appear in theRDEVBLOK and not in the othe';c blocks include a pointer te the I/O that is currently active en the device, SIC counts, and a pointer te error and sense
information. TheRDEVELCK contains a
pointer to theRCUELCK for the control unit to which it is attached and fields of
device dependent information which do net
affect the operation ofI/C If the RDEVBLOK is associated with 3270 remote communications line, then the REEVELOK contains a pointer to NICBLCKs that represents the resources on that line. INPUT/OUTFUT BLOCKS I/O requests that are active in the system
are represented Input/Output Elocks (ICELOK) • There 1S one ICELOK for each
operation (that is, channel program) tote executed. The IOBLOK is ccnstructed by the
requesting task and contains such
information as:• The identity of the requestor • The address of the channel program to be
executedSection 1. CP Data Areas and Centrel Elocks 79
requests
several
l:locks
types:
to centrol
can
components of the
The
are described by one control block for each
channel, control unit, and device available
not represented by control blocks are not
available for either user-initiated or
centrol program-initiated operations.
REAL
there exists a Real
its attached units,
list of
channel.
In additien, each
halfword indexes, arranged in ascending
address order, that represent the
displacement into the Real
units attached to the channel. The 32
entries are required because the control
unit address
from the unit address. To locate the
control
1. Index into the table
displacement equal
control unit address.
2. Load the index value.
in the
to twice the
3. Add the value to the base address of
the Real
each control unit on the system. These
blecks are similar to
they contain the control unit portion of
the address and status flags, and a peinter
to a queue of
the
attached.
16 halfwerd entries that represent the
displacment into the Real Device Table
referenced in the same manner as the table
in the
line in the system is represented by a Real
the device portion of the unit address and
status flags similar to those in
those operations that are waiting fer the
device to become available. Fields that
appear in the
information. The
pointer to the
device dependent information which do net
affect the operation of
are represented
operation (that is, channel program) to
requesting task and contains such
information as:
executed