CVT - Communication Vector Table
The Communication Vector Table (CVT) is a fundamental, system-wide control block in z/OS that acts as a central repository of pointers to other critical system control blocks and tables. It provides a consistent and well-known mechanism for the operating system and authorized programs to locate essential system resources and services.
Key Characteristics
-
- Fixed System Address: The CVT is typically located at a fixed, well-known virtual address (often
X'10') within the common system area, making it easily accessible by the operating system and authorized programs. - Central Pointer Hub: It contains pointers to many other vital control blocks, such as the Program Status Area (PSA), Address Space Control Block (ASCB), Task Control Block (TCB), System Queue Area (SQA), and various system tables.
- System-Wide Scope: There is only one CVT per z/OS system image, and its contents are global, reflecting the overall state and configuration of the entire system.
- Part of the Nucleus: The CVT is loaded early during the Initial Program Load (IPL) process and resides in the system nucleus, making it a core component of the operating system.
- Read-Only for Most: While its pointers are critical for system operation, direct modification of the CVT by unauthorized or user-mode programs is strictly prohibited and would lead to system integrity violations or crashes.
- Defined by Macros: Its structure and field offsets are defined by system macros, such as
IEZCVT, which allow system programmers to access its contents programmatically.
- Fixed System Address: The CVT is typically located at a fixed, well-known virtual address (often
Use Cases
-
- Operating System Initialization: During IPL, the CVT is built and populated with initial pointers, establishing the foundation for the operating system's internal structure and resource management.
- System Service Access: Authorized programs and SVC routines use pointers within the CVT to locate and access various system services, tables, and control blocks necessary for their operation, such as the
SSCT(Subsystem Communication Table) orSMF(System Management Facilities) control blocks. - Problem Determination and Debugging: System programmers and dump analysts frequently examine the CVT in system dumps to navigate through the complex web of control blocks and understand the system's state at the time of an abend.
- System Monitoring and Management: Performance monitors and system management tools may read CVT fields to gather information about the system's configuration, available resources, and overall health.
Related Concepts
The CVT is foundational, often considered the "root" of the z/OS control block hierarchy, second only to the PSA (Program Status Area) in its fundamental importance. It contains the pointer to the current PSA, and through it, provides access to the ASCB for the currently executing address space, which in turn points to its TCBs. This interconnectedness makes the CVT indispensable for navigating the system's internal structures and understanding how different components relate to each other, forming the backbone of z/OS's internal architecture.
- Avoid Direct Modification: Never attempt to directly modify the CVT's contents from unauthorized programs, as this will lead to immediate system integrity violations (
0C4abends) or system crashes. - Use Documented Interfaces: When needing information from the CVT, always use documented z/OS system services, macros, or control block mapping macros (e.g.,
IEZCVT) to ensure proper and authorized access. - Understand for Debugging: For system programmers, a deep understanding of the CVT's structure and its pointers is crucial for effective problem determination, especially when analyzing system dumps or writing authorized programs.
- Protect System Integrity: Ensure that any authorized programs that *do* interact with or read the CVT are rigorously tested and secured to prevent accidental or malicious compromise of system integrity.