Execute Channel Program
Encyclopedia
In IBM mainframe
IBM mainframe
IBM mainframes are large computer systems produced by IBM from 1952 to the present. During the 1960s and 1970s, the term mainframe computer was almost synonymous with IBM products due to their marketshare...

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s, Execute Channel Program (EXCP) is a supervisor call for low-level device access, where the programmer is responsible for providing a list of device-specific CCWs, that is, a Channel Program, to be executed by I/O channels, control units and devices. EXCP is more specifically described in the OS System Programmer's Guide.

A comprehensive list of "exits" (called appendages) allows authorized programs to override or augment many of the system security and data integrity checks. Most of these exits (really, closed subroutines) are supported for compatibility with earlier instances of the OS, but the functions of several have been modified or extended for MVS.

Using EXCP, legacy devices and legacy datasets may be operated on with relatively high performance. EXCP devices are OPENed (that is, are made available to the application) by specifying MACRF=(E) in the DCB.

Normally, when a device is OPENed for EXCP, only the first "extent" is represented in the DEB (which is forward- and backward-chained to the DCB as a system security measure as the DCB resides in unprotected user storage whereas the DEB resides in protected system storage). If, for example, the programmer tries to read past the end of an extent, an exception occurs and the operation is suppressed, thereby preventing a data integrity exposure. Should the DEB include additional extents, the channel program may be updated by the programmer to refer to the next extent and the EXCP may be reissued, or the end of extent exit, if provided, may update the channel program to the next extent and the operation may be re-driven without first going through the EXCP processor.

EXCP is sometimes confused with a direct access storage access method, but it is not for direct access devices exclusively; rather, it is a general purpose low-level device access interface which supports any legacy device type and any legacy dataset organization.

A variation of EXCP is XDAP
Execute Direct Access Program
In IBM mainframe operating systems, Execute Direct Access Program is a pseudo access method for accessing direct access datasets on a block by block basis. XDAP is more specifically described in the OS System Programmer's Guide....

, which is indeed for accessing direct access storage, only, and is provided for reading and updating existing direct access storage records. XDAP cannot be used to add records, but XDAP can be utilized along with BSAM or BPAM to effect record additions to such datasets, and several OS components utilize XDAP in this manner.

EXCP may also be used to access communications devices attached to IBM 2701, 2702 and 2703 communications controllers and IBM 370x or Amdahl 470x front end processors (and their respective follow-ons) operating in emulator mode (EP) or partitioned emulator mode (PEP).

EXCP's front-end is always in TCB mode, as EXCP is a Type 1 SVC. In MVS/370 and subsequent instances of the OS, the EXCP processor invokes STARTIO
Start Input/Output
In MVS/370 and successor versions of IBM mainframe operating systems, Start Input/Output is a macro instruction and a "branch entry" for low-level device access, where the programmer is responsible for providing a list of device-specific CCWs, that is, a Channel Program, to be executed by I/O...

to schedule execution of the channel program, hence EXCP's back-end is always in SRB mode, but the back-end contains emulation code which allows the exits developed for earlier, pre-MVS instances of the OS to function largely as before.

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK