IGC - System service prefix
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, wherexxxxis a unique identifier for the specific service or module (e.g.,IGC0001Ffor 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.,
IGC0001Fhandles SVC 19 forOPEN,IGC0002Ahandles SVC 42 forCLOSE). - 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.
- 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.,
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.
- 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.