Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
Memory objects z/OS MVS Programming: Extended Addressability Guide SA23-1394-00 |
|
Programs obtain storage above the bar in "chunks" of virtual
storage called memory objects. The system
allocates a memory object as a number of virtual segments; each segment
is a megabyte in size and begins on a megabyte boundary. A memory
object can be as large as the memory limits set by your installation
and as small as one megabyte. Other attributes of a memory object
include the following characteristics:
Using the IARV64 macro, a program can create and free a memory object and manage the physical frames that back the virtual storage. You can think of IARV64 as the GETMAIN/FREEMAIN or STORAGE macro for virtual storage above the bar. (GETMAIN/FREEMAIN and STORAGE do not work on virtual storage above the bar.) When a program creates a memory object, it provides an area in which the system returns the memory object's low address. You can think of the address as the name of the memory object. After creating the memory object, the program can use the storage in the memory object as it used storage in the 2-gigabyte address space; see Using a memory object. The program cannot safely operate on storage areas that span more than one memory object. An authorized program can ask the system to pagefix areas of private memory objects, making pages unavailable for stealing. The program specifies the ranges of pages that the system is to fix. Later, the program can undo the pagefix operation. An authorized program cannot pagefix 64-bit shared memory objects. For more information about shared memory objects, see Creating shared memory objects. To help the system manage the physical pages that back ranges of addresses in memory objects, a program can alert the system to its use of some of those pages by issuing an IARV64 PAGEOUT request thereby making them available for the system to steal. The program can free the physical pages that back ranges of memory objects and, optionally, clear those ranges to zeros. Later, the program can ask the system to return the physical backing from auxiliary storage. When it no longer needs the memory object, the program frees it in its entirety. The program can identify one user token for both private and shared memory objects. Then if a IARV64 DETACH AFFINITY=LOCAL request is issued for that user token, the private memory objects will be detached and destroyed and the interest in the shared memory objects specified by the user token will be removed from the shared memory object. |
Copyright IBM Corporation 1990, 2014
|