Execute Channel Program: Difference between revisions

Content deleted Content added
Appendages: expand cite
m Typo/general fixes, replaced: Twelth → Twelfth
Line 1:
{{See also|EXCPVR}}
{{short description|Operating System low level I/O API}}
{{See also|EXCPVR}}
{{more citations needed|date=June 2012}}
In [[IBM mainframe]] [[operating system]]s, '''Execute Channel Program''' ('''EXCP''') is a [[Macro (computer science)|macro]] generating a [[system call]], implemented as a [[Supervisor Call instruction]], 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 72:
| id = GC28-6550-ll
| date = April 1973
| edition = TwelthTwelfth
| section = Appendages
| section-url = http://www.bitsavers.org/pdf/ibm/360/os/R21.7_Apr73/GC28-6550-11_Data_Management_for_System_Programmers_Rel_21.7_Apr73.pdf#page=43
Line 99:
 
==Relationship to supervisor==
EXCP's front-end is always in [[Task Control Block]] (TCB) mode, The normal mode for applications,<ref name="SoftwareAG">{{cite web |last1=Software AG |title=Natural zIIP Processing: TCBs, SRBs and Enclaves| url=https://documentation.softwareag.com/natural/nat825mf/ziip/naz-nat-processing.htm |access-date=Mar 22, 2021}}</ref> 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 [[Service Request Block]]{{efn|In OS/360, OS/VS1 and SVS there is no SRB mode and appendages run with interrupts disabled.}} (SRB) mode,<ref name=SoftwareAG /> 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 roll-your-own access methods and applications to MVS.