Content deleted Content added
m v2.03b - Bot T20 CW#61 - WP:WCW project (Reference before punctuation) |
Use z/OS reference for OS, not z/VSE reference; see also; scare quotes; extents |
||
Line 1:
{{short description|Operating System low level I/O API}}
{{See also|EXCPVR}}
{{refimprove|date=June 2012}}
In [[IBM mainframe]] [[operating system]]s, '''Execute Channel Program''' ('''EXCP''') is a [[Supervisor Call instruction|supervisor call]] for low-level device access, where the programmer is responsible for providing a ''[[Channel program#Channel Program|channel program]]''—a list of device-specific commands (CCWs)—to be executed by I/O channels, control units and devices.<ref name="Hannula1974">{{cite book
Line 28 ⟶ 29:
}}</ref><ref>{{cite manual
| publisher = IBM
| title =
|
| section = Chapter 4. Executing Your Own Channel Programs
|
| sectionurl = https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R4sc236861/$file/idas300_v2r4.pdf#page=181
| url = https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R4sc236861/$file/idas300_v2r4.pdf
| id = SC23-6861-40}}
</ref> is more specifically described in the OS System Programmer's Guide.<ref>{{cite manual|publisher=IBM|title=IBM System/360 Operating System System Programmer's Guide|id=C28-6550-2|date=March 1967|url=http://www.bitsavers.org/pdf/ibm/360/os/R01-08/C28-6550-2_OSsysPrmg_Mar67.pdf}}</ref>; EXCP for [[DOS/360 and successors]]<ref name="Stotts1990">{{cite book
| author=Gary A. Stotts
Line 58 ⟶ 62:
==Specifying datasets==
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 the [[Data Control Block]] (DCB) for OS and the DTFPH for DOS.
==Specifying I/O operations==
For OS/360 through z/OS, the program provides an 'Input/Output Block'' (IOB) to EXCP; if the program does an EXCP to multiple IOBs, the system processes them in the order that they were requested. For DASD the IOB includes a seek address, ''IOBSEEK'', in the format MBBCCHHR, where M is the extent, BB is the bin for a data cell, CCHH is the cylinder and head, and R is the record number.
==Exits (Appendages)==
A comprehensive list of
==Dataset integrity==
Normally, when a
==Legacy datasets only==
Line 75 ⟶ 82:
==Relationship to supervisor==
EXCP's front-end is always in TCB mode, as EXCP is a Type 1 [[Supervisor Call instruction|SVC]]. In MVS/370 and subsequent instances of the OS, the EXCP processor invokes [[Start Input/Output|STARTIO]] to schedule execution of the channel program. Although the EXCP processor's back-end is always in SRB mode, the back-end contains emulation code which allows the appendages developed for earlier, pre-MVS instances of the OS, specifically for EXCP, to function largely as before and thereby to appear to be in TCB mode, for which these appendages were originally designed. This distinction can complicate conversion of certain
==Channel programs==
System/360 channel programs are a sequence of commands which are executed by the channel and the I/O device. Channel programs can be located anywhere in main storage. The channel program is a sequence of ''Channel Command Words'' (CCWs), which may be executed sequentially unless a branch, called
<pre>
bit 0 7 8 31
|