Modernization Hub

IGC - System service prefix

Enhanced Definition

IGC is a prefix used by IBM for system service routines in z/OS. These routines provide fundamental operating system functions and are typically re-entrant and reusable, residing in authorized libraries like `SYS1.LINKLIB` or `SYS1.LPALIB`. They are crucial for the core operation and stability of the z/OS environment.

Key Characteristics

    • IBM-supplied: Exclusively used by IBM for its core system components, ensuring consistency and reliability across z/OS installations.
    • System Service Routines: Implements fundamental operating system functions such as Supervisor Call (SVC) handlers, storage management, task management, and I/O supervision.
    • Re-entrant and Reusable: Designed to be called by multiple tasks concurrently without self-modification, which improves system efficiency and reduces resource consumption.
    • Authorized Code: Often runs in a privileged state (e.g., supervisor state, key 0) and requires authorization to perform sensitive system operations.
    • Residency in LPA/ELPA: Many IGC modules are loaded into the Link Pack Area (LPA) or Extended Link Pack Area (ELPA) during IPL for system-wide availability and enhanced performance.
    • Naming Convention: Follows the pattern IGCxxxx, where xxxx is a unique identifier for the specific service or module (e.g., IGC0001F for SVC 19).

Use Cases

    • SVC Processing: Many System SVC (Supervisor Call) routines, which provide an interface for user programs to request operating system services, are IGC modules (e.g., IGC0001F handles SVC 19 for OPEN, IGC0002A handles SVC 42 for CLOSE).
    • Common System Functions: Routines for core tasks like storage allocation (GETMAIN), program loading (LOAD), and task creation (ATTACH) are often implemented as IGC modules.
    • Error Handling and Recovery: Critical system error handling, abend processing, and recovery routines are frequently IGC modules, ensuring system resilience.
    • System Initialization: During IPL (Initial Program Load), IGC modules are loaded and initialized to establish the basic operating environment and prepare the system for workload execution.

Related Concepts

IGC modules are fundamental components of the z/OS kernel and supervisor, forming the bedrock of the operating system. They are often invoked via Supervisor Calls (SVCs), which are the primary mechanism for user programs to request privileged operating system services. Their presence in the Link Pack Area (LPA) ensures system-wide availability and reduces overall system memory consumption by sharing common code among multiple address spaces. They are critical for the functioning of address spaces, task management, and I/O operations, directly supporting applications written in languages like COBOL and executed via JCL.

Best Practices:
  • Do Not Modify: Never attempt to modify, replace, or directly call IBM-supplied IGC modules from application code, as this can lead to system instability, security vulnerabilities, and loss of IBM support.
  • Understand SVCs: Developers and system programmers should understand which SVCs correspond to which IGC routines to better debug system-level issues or understand program behavior.
  • System Monitoring: System programmers should monitor the usage and performance of core system services, including those implemented by IGC modules, to ensure overall system health and identify potential bottlenecks.
  • Authorized Libraries: Ensure that IGC modules reside only in authorized libraries (e.g., SYS1.LINKLIB, SYS1.LPALIB) to maintain system integrity and security.
  • IPL Configuration: Proper configuration of LPA and ELPA during IPL is crucial for efficient loading and execution of frequently used IGC modules, optimizing system startup and runtime performance.

Related Products

Related Vendors

IBM

646 products

Macro 4

20 products

Related Categories

Administration

395 products

Operating System

154 products