Core
In the context of IBM mainframes and z/OS, "Core" historically refers to **main storage** (also known as real storage or central storage). It is the primary, high-speed electronic memory directly accessible by the CPU, holding programs, data, and operating system components that are actively being processed or are ready for execution.
Key Characteristics
-
- Volatile Memory: Data stored in core is lost when the system is powered off or reset, requiring persistence mechanisms like auxiliary storage (DASD).
- Byte-Addressable: Each individual byte within main storage has a unique physical address, allowing the CPU to access specific data locations directly.
- Physical Resource: Represents the actual, installed RAM (Random Access Memory) hardware on the mainframe system.
- Managed by z/OS: The z/OS operating system is responsible for allocating, deallocating, and protecting portions of main storage for various tasks, address spaces, and system services.
- Backing for Virtual Storage: Main storage serves as the physical backing for the much larger virtual storage address spaces that applications and the operating system utilize.
Use Cases
-
- Program Execution: Loading and executing application programs (e.g., COBOL, PL/I, Assembler) and system utilities into main storage for the CPU to fetch instructions and data.
- Operating System Residency: Housing the z/OS kernel, control blocks, system services, and critical data structures that must always be present and accessible.
- Data Buffering: Providing memory areas for I/O buffers to facilitate efficient data transfer between the CPU and peripheral devices (e.g., reading/writing VSAM files, sequential datasets).
- Application Data Storage: Storing dynamic data structures, working storage sections, and temporary variables used by running applications.
Related Concepts
Core (main storage) is fundamental to the virtual storage concept; it is the real memory that backs the virtual address spaces. The Virtual Storage Manager (VSM) within z/OS maps virtual addresses to real storage frames. When the demand for virtual storage exceeds available main storage, paging occurs, moving 4KB pages between main storage and auxiliary storage (DASD). The CPU directly fetches instructions and operands from main storage, and its performance is heavily influenced by the speed and availability of core.
- Monitor Real Storage Utilization: Regularly use tools like RMF (Resource Measurement Facility) or OMEGAMON to monitor main storage usage, identify potential bottlenecks, and detect storage leaks.
- Optimize Program Storage: Design COBOL and other application programs to be storage-efficient, minimizing the use of large tables or buffers where possible to reduce main storage footprint.
- Configure Adequate Region Sizes: Ensure that JCL
REGIONparameters for batch jobs and CICSMAXTASKand storage definitions are appropriately set to prevent abends due to insufficient main storage. - Understand Paging Rates: High paging rates indicate that the system is constrained on real storage, impacting overall system performance; investigate and potentially add more physical memory.
- Utilize Storage Protection: Leverage z/OS storage protection features (e.g., storage keys, page protection) to prevent unauthorized access or corruption of critical memory areas by rogue programs.