An interrupt is an event that alters the sequence in which the processor executes instructions. An interrupt might be planned (specifically requested by the currently running program) or unplanned (caused by an event that might or might not be related to the currently running program).
z/OS uses six types of interrupts, as follows:
– Supervisor call or SVC interrupts – occurs when the program issues an SVC instruction. An SVC is a request for a particular system service. These services are requested through macros such as OPEN (open a file), GETMAIN (obtain storage), or WTO (write a message to the system operator).
– I/O interrupts – occurs when the channel subsystem signals a change of status. For example, an I/O operation completes, an error occurs, or an I/O device such as a printer becomes ready.
– External interrupts – indicates any of several events: a time interval expires, the operator presses the interrupt key on the console, or the processor receives a signal from another processor.
– Restart interrupts – occurs when the operator selects the restart function at the console or when a restart SIGP (signal processor) instruction is received from another processor.
– Program interrupts – caused by program errors (for example, the program attempts to perform an invalid operation), page faults (the program references a page that is not in real storage), or requests to monitor an event.
– Machine check interrupts – caused by machine malfunctions.
When an interrupt occurs, the hardware saves pertinent information about the program that was interrupted and, if possible, disables the processor for further interrupts of the same type. The hardware then routes control to the appropriate interrupt handler routine. The program status word or PSW is a key resource in this process.