ALLOCATION MANAGEMENT Real storage space above the Control Program nucleus is made up of the dynamic paging area and the free storage area. Page frames (allocation
space in real storage fora page of data) in the dynamic paging area are
allocated to virtual machines and the control program to satisfy paging
requests. Blocks of storage, requested by virtual machines andCP for
working storage, are allocatedfrom the free storage area. NORMAL PAGING REQUESTS If a program interruption is caused by a normal paging request (not from a virtual Machine that is running in Ee mode with translation on)w DMKPRGIN determines whether a segment or page translation error has
occurred. If one of these errors occurred, an invalid address
interruption code is set, and the interruption is reflected to the
virtual machine supervisor. If a segment or page translation error has
not occurred, the virtual machine's currentPSW is updated from the program old PSW (PROPSW), the address of the current VMBLOK is placed in
register 11, andDMKPTRAN is called to obtain the required page. When the paging operation is completed, control is returned to DMKDSPCH. When operating in the CP relocate environment, each virtual machine's virtual storage space is described by two sets of tables. • One set, the segment and page tables, describes the location and
availability of any of the virtual machine's virtual pages thatmay be resident in real storage. Locations in these tables are indexable
by virtual address, and the entries contain index values that
reference corresponding real storage·addresses. In addition, each
table entry contains an indication of whether the corresponding
virtual page is available to theuser in real storage. These tables are referenced directly by the DAT feature when the virtual machine's program is running. • The second set of tables, called swap tables, is a map of the
locations of the virtual machine's pages on theDASD devices that comprise the system's paging or auxiliary storage. The DISD addresses in these tables can either represent the source of a page
of virtual storage (the location to which a pagemay be moved if
necessary) or adu.my address, indicating that the given page has not
yet been referenced and, thus, has a value of binary zeros.
The swap tables are arranged in aformat indexable by virtual storage
address. In addition to containing the address of a page, each entry
contains flags and status bytes that indicate such information as:• The storage protection keys to be assigned to the page when it is made resident. • Whether the page is currently on its way into or out of the system (in transit), etc.
These tables are not referenced directly by the hardware
page andsegment tables, but are used by paging manage.ent user pages that are needed to execute a program. as are the
to locateCP Introduction 1-105
space in real storage for
allocated to virtual machines and the control program to satisfy paging
requests. Blocks of storage, requested by virtual machines and
working storage, are allocated
occurred. If one of these errors occurred, an invalid address
interruption code is set, and the interruption is reflected to the
virtual machine supervisor. If a segment or page translation error has
not occurred, the virtual machine's current
register 11, and
availability of any of the virtual machine's virtual pages that
by virtual address, and the entries contain index values that
reference corresponding real storage
table entry contains an indication of whether the corresponding
virtual page is available to the
locations of the virtual machine's pages on the
of virtual storage (the location to which a page
necessary) or a
yet been referenced and, thus, has a value of binary zeros.
The swap tables are arranged in a
address. In addition to containing the address of a page, each entry
contains flags and status bytes that indicate such information as:
These tables are not referenced directly by the hardware
page and
to locate