exceeds the real paging space available in the system). Thus, the
paging manager must keep statisticsOn system and virtual machine paging
activity and make these statistics available to the dispatcher to detect
and prevent a potential thrashing condition.
Inefficiency in the second area causes an unacceptable ratio of CP
overhead to virtual machine program time, and inextreme cases may cause
CP to use excessive processor time. To understand how allocation is
determinedby CP, the way in which the inventory of real storage page
frames is described to the system must be understood.
Each page frame (4096-byte block) of real storage in thesystem is in
one of two basic states: nonpageable or pageable.1 nonpageable page must remain resident in real storage for some period of time; thus, the
page frame cannot be takenfrom its current owner to be given to someone
else. Pages can be either permanently or temporarily nonpageable,
depending upon their use.Temporary locks usually occur when an I/O operation has been
initiated that ismoving data either to or from the page, and the page
must be kept in real storage until the operation has completed.
A page can also be temporarily nonpageable if it contains an active
nonresident CP routine.
In addition, a page can be nonpageable through use of theLOCK command. Pages locked this way are permanently resident until they are
explicitly unlocked by theUNLOCK command. Pages that are usually
considered peraanently nonpageable are those that contain the resident
portion of CP and those that contain thesystem's free storage area in
which control blocks,I/O buffers, etc., are builto
The data area that page management routines use to control and
allocate real storage is theCORTIBLE. Each page frame of real storage
has a corresponding entry in theCORTIBLE, and because the table entries
are fixed in length and contiguous, the entry for any given real page
fraaemay be located directly by indexing into the table. Each entry
contains pointers that indicate both the status and ownership of the
real page that it represents.Some pointers link page table and swap
table entries to the real page (and thus establish ownership), whileothers link the entry into one of several lists that the paging routines
use to indicate the page frame's status and availability for paging.1 given CORTIBLE entry may appear on either of two lists if its real page
frame is available for paging; however, if the page referenced is locked
or is in transit, its entry is not in either list and is not referenced
when available page frames are being searched for swap candidates. The
lists are known as the free list (FREELIST) and the flush list(FLUSBLST), and they represent various levels of page frame availability. • The free list contains page frames that are immediately available for
assignment to a requesting virtual machine. The virtual storage
pages for which they were last used have either been released by
their owners or they have been paged out to auxiliary storage.
Requests for real storage are always satisfiedfrom the free list.
If the list bas been depleted, the requestor waits until a new pageframe becomes available as the result of a virtual storage release or
a swap-out.• The flush list contains page frames that belong to those virtual
machines that have been dropped from an active dispatching queue. The
flush list is the first place that the pageframe selection routine
looks to find a page to swap out or to assign to the free list for a
virtual machine that requires real storage space.
CP Introduction1-101
paging manager must keep statistics
activity and make these statistics available to the dispatcher to detect
and prevent a potential thrashing condition.
Inefficiency in the second area causes an unacceptable ratio of CP
overhead to virtual machine program time, and in
CP to use excessive processor time. To understand how allocation is
determined
frames is described to the system must be understood.
Each page frame (4096-byte block) of real storage in the
one of two basic states: nonpageable or pageable.
page frame cannot be taken
else. Pages can be either permanently or temporarily nonpageable,
depending upon their use.
initiated that is
must be kept in real storage until the operation has completed.
A page can also be temporarily nonpageable if it contains an active
nonresident CP routine.
In addition, a page can be nonpageable through use of the
explicitly unlocked by the
considered peraanently nonpageable are those that contain the resident
portion of CP and those that contain the
which control blocks,
The data area that page management routines use to control and
allocate real storage is the
has a corresponding entry in the
are fixed in length and contiguous, the entry for any given real page
fraae
contains pointers that indicate both the status and ownership of the
real page that it represents.
table entries to the real page (and thus establish ownership), while
use to indicate the page frame's status and availability for paging.
frame is available for paging; however, if the page referenced is locked
or is in transit, its entry is not in either list and is not referenced
when available page frames are being searched for swap candidates. The
lists are known as the free list (FREELIST) and the flush list
assignment to a requesting virtual machine. The virtual storage
pages for which they were last used have either been released by
their owners or they have been paged out to auxiliary storage.
Requests for real storage are always satisfied
If the list bas been depleted, the requestor waits until a new page
a swap-out.
machines that have been dropped from an active dispatching queue. The
flush list is the first place that the page
looks to find a page to swap out or to assign to the free list for a
virtual machine that requires real storage space.
CP Introduction