Modernization Hub

Interrupt

Enhanced Definition

An interrupt in z/OS is an asynchronous or synchronous event that causes the CPU to suspend its current program execution and transfer control to a predefined routine (an interrupt handler) within the operating system. This mechanism is crucial for handling I/O completions, program errors, system calls, and external events, enabling the operating system to manage system resources and respond to critical situations. An interrupt in z/OS is a hardware-generated event that causes the CPU to suspend its current program execution, save the current state (primarily via the Program Status Word), and transfer control to a predefined routine within the operating system to handle the event. This mechanism is fundamental for z/OS to manage system resources, handle exceptions, and provide services to running programs.

Key Characteristics

    • Event-Driven: Interrupts are triggered by specific events, such as the completion of an I/O operation, a program attempting an invalid instruction, or a timer expiring.
    • Program Status Word (PSW) Manipulation: When an interrupt occurs, the current PSW (which contains the program counter, condition code, and control bits) is saved, and a new PSW is loaded, directing the CPU to the appropriate interrupt handler.
    • Types of Interrupts: z/OS categorizes interrupts into several types:
    • I/O Interrupts: Signify the completion or status change of an I/O operation.
    • Program Check Interrupts: Indicate an error in the currently executing program (e.g., data exception, divide by zero, addressing exception).
    • Supervisor Call (SVC) Interrupts: Synchronous interrupts initiated by a program to request a service from the operating system kernel.
    • External Interrupts: Caused by external events like timer expiration, console intervention, or inter-processor communication.
    • Machine Check Interrupts: Indicate a hardware malfunction.
    • Asynchronous vs. Synchronous: I/O, External, and Machine Check interrupts are asynchronous (occur at unpredictable times), while Program Check and SVC interrupts are synchronous (occur as a direct result of the executing instruction).
    • Interrupt Masking: Certain interrupts can be temporarily disabled or "masked" by the operating system or privileged programs to ensure critical operations are not interrupted.

Use Cases

    • I/O Completion: Notifying the operating system that a disk read/write or printer operation has finished, allowing the waiting program to resume or new I/O to be initiated.
    • Error Handling: Detecting and responding to program errors (e.g., an invalid memory access in a COBOL program) by terminating the program or invoking a recovery routine.
    • System Services: Programs use SVC interrupts to request services from z/OS, such as allocating memory, opening files, or creating new tasks.
    • Time-Sharing and Multitasking: The timer interrupt is fundamental to time-sharing, allowing the operating system to regain control from a running program and dispatch another.

Related Concepts

Interrupts are central to the functioning of the z/OS kernel (supervisor), enabling it to manage multitasking and resource allocation. They directly interact with the Program Status Word (PSW), which dictates the CPU's state. Supervisor Calls (SVCs) are a specific type of interrupt used by applications to invoke operating system services. I/O operations heavily rely on interrupts for their asynchronous nature, and program checks are the system's way of handling exceptions and errors within user applications.

Best Practices:

Related Vendors

Macro 4

20 products

Broadcom

235 products

IBM

646 products

Applied Software

7 products

Related Categories

Administration

395 products

CICS

214 products

CASE/Code Generation

19 products

Operating System

154 products

Encryption

41 products