Processor storage management

The system administers the use of processor storage (that is, central and expanded storage) and directs the movement of virtual storage pages between auxiliary storage slots and real frames in blocks of 4096 bytes. It makes all addressable virtual storage in each address space appear as central storage. Only the virtual pages necessary for program execution are kept in central storage. The remainder reside on auxiliary storage. The system employs the auxiliary storage manager to perform the actual paging I/O necessary to transfer pages in and out of central storage. The system also provides DASD allocation and management for paging space on auxiliary storage.

The system assigns real frames upon request from pools of available frames, thereby associating virtual addresses with central storage addresses. Frames are repossessed when freed by a user, when a user is swapped-out, or when needed to replenish the available pool. While a virtual page occupies a real frame, the page is considered pageable unless it is fixed by the FIX option of the PGSER macro, a PGFIX or PGFIXA macro, or obtained from a fixed subpool. The system also allocates virtual equals real (V=R) regions upon request by those programs that cannot tolerate dynamic relocation. Such a region is allocated contiguously from a predefined area of central storage and is non-pageable.

The PGSER macro provides all the paging services through the use of parameters. PGSER handles virtual addresses above or below 16 megabytes. The macros, PGFIX, PGFIXA, PGFREE, PGFREEA, PGLOAD, PGANY, PGOUT, and PGRLSE are supported to maintain compatibility with MVS/370, but it is recommended that you use the PGSER macro.

The paging services provided include the following:
  • Fix virtual storage contents -- PGFIX, PGFIXA, or the FIX option of PGSER
  • Fast path to fix virtual storage contents -- the FIX and BRANCH=SPECIAL options of PGSER
  • Free central storage -- PGFREE, PGFREEA, or the FREE option of PGSER
  • Fast path to free central storage -- the FREE and BRANCH=SPECIAL options of PGSER
  • Load virtual storage areas into central storage -- PGLOAD or the LOAD option of PGSER
  • Page out virtual storage areas from central storage -- PGOUT or the OUT option of PGSER
  • Release virtual storage contents -- PGRLSE or the RELEASE option of PGSER
  • Page anywhere (above or below 16 megabytes of central storage) -- PGANY or the ANYWHER option of PGSER
  • Makes a range of virtual storage pages read-only -- the PROTECT option of PGSER.
  • Makes a range of virtual storage pages modifiable -- the UNPROTECT option of PGSER.

The PGFIX, PGFIXA, PGFREE, and PGFREEA functions as well as the FIX and FREE options of PGSER are available only to authorized system functions and users and are described in the following topics. PGANY, PGLOAD, PGOUT, and PGRLSE as well as the ANYWHER, LOAD, OUT, and RELEASE options of PGSER are not restricted and are available to all users. PGSER and PGANY are described in this publication. PGLOAD, PGOUT, and PGRLSE are described in z/OS MVS Programming: Assembler Services Guide and z/OS MVS Programming: Assembler Services Reference IAR-XCT.

You can use paging services for storage that you define as shared through the IARVSERV macro. For information about sharing storage through IARVSERV, particularly for the PGSER FIX, PROTECT, and UNPROTECT options, see Sharing data in virtual storage (IARVSERV macro).