Selecting private or common storage

Your choice of private or common storage depends on whether programs in other address spaces need access to your storage.

Private storage is divided into low private and high private storage. The system satisfies low private storage requests by allocating storage at the lowest available address. The system satisfies high private storage requests by allocating storage at the highest available address. This method of allocating low and high private storage allows the amount of low and high private to adjust to the needs of the address space. Certain considerations apply to allocating storage within the private area. See Managing private storage allocation for further information.

Low private storage can be obtained and released by all programs; in contrast, high private storage can be obtained and released only by authorized programs. Common storage can be read by both authorized and unauthorized programs, but can be obtained and released only by authorized programs. Each address space in the system has its own private storage but shares common storage with the other address spaces. Although common storage is considered part of an address space, in many ways it behaves as if it were not. For instance, if an address space is swapped out, only the private storage is swapped out. Private storage can be accessed from another address space only by using access registers or cross-memory services; whereas common storage can be accessed by tasks and SRBs in other address spaces.

Note: Private and common storage are frequently referred to as local and global storage, respectively.

Table 1 summarizes the differences between private and common storage:

Table 1. A Comparison of Private and Common Storage
Private Storage Common Storage
Each address space has its own All address spaces share
Accessible only using the dynamic address translation (DAT) tables for that address space Accessible using the DAT tables for any address space
Swappable if address space is swappable Non-swappable
Amount of low private storage limited by the user region size, an installation-defined parameter. For more information about the user region, see z/OS MVS Initialization and Tuning Guide. Amount limited by sizes of SQA and CSA as defined in the IEASYSxx member of SYS1.PARMLIB. For more information about the IEASYSxx member, see z/OS MVS Initialization and Tuning Reference.