Previous Topic: 6.6.1.2 What Is and Is Not Counted as an I/O?

Next Topic: 6.6.3 I/O Measurements

6.6.2 EXCP and Other Access Methods


The MVS IOS (I/O Supervisor) contains several low-level
routines, called drivers, which are directly responsible for
passing an I/O request to the external I/O subsystem.  The
oldest and most commonly used driver is EXCP (for EXecute
Channel Program), but it is just one of many.  Some of the
most common access methods are:

    BDAM - Basic Direct Access Method
    BPAM - Basic Partitioned Access Method
    BSAM - Basic Sequential Access Method
    ISAM - Indexed Sequential Access Method
    QSAM - Queued Sequential Access Method
    VSAM - Virtual Storage Access Method
    OSAM - Overflow Sequential Access Method

Additional access methods are used by the ASM (Auxiliary
Storage Manager), JESx, the master scheduler, etc.  However,
use of the term EXCP has come to denote an I/O request issued
by any program above the IOS level.  Depending on the AM and
the mode of access (direct, sequential, indexed, etc.), each
problem program I/O request will result in one, several, or a
fraction of an EXCP.  EXCPs are also issued on the
application's behalf by the paging subsystem, JESx, the
master scheduler, etc.

Each EXCP causes activity involving certain devices and the
communications path between them and the CPU.  An EXCP that
transmits data to or from devices (unit record devices,
communications controllers, local or remote terminals, etc.)
will send between a dozen and a few hundred bytes along the
path.  Most devices that store data (disk, tape, drum, etc.)
transmit data in blocks whose sizes are typically measured in
thousands of bytes.

Channel programs can be constructed to transfer several
blocks of data per execution.  SAM-E, for example, groups
five or more blocks in each IOS call, depending on the BUFNO
parameter specified.  The ASM (Auxiliary Storage Manager)
swap routinely transfers dozens of blocks with a single EXCP,
and the suspend/resume facility (seldom-ending channel
program) of the ASM can then perform further transfers
without redriving IOS code.  True block counts can thus be
substantially higher than the number of EXCPs issued.  In a
further blurring of the term, EXCP has been transformed to
mean "block count" for the sequential access methods (BSAM,
QSAM, and BPAM).