REAL STORAGE ALLOCATION AND PAGE MANAGEMENT DMKPTRAN via the TRANS KACRO per paging request as determined by DiT created program interrupt (page or segment exception) • DMKPTR RESTART ---aeturn to-caller, if virtual address in R1 is beyond range of user's
directory specified storage size.QMKPTR, Check page residency via LRA (LOAD REAL ADDRESS) operation. For resident page, lock page in storage (if appropriate). 12!1KP!!!, GET!!!QQ Set real address in R2, make PAGTABLE entry valid. Set cc=O and exit
to caller.INT!!!! For page not resident but in transit (SWPTABLE, SWPFLAG), place
virtual machine in locate mode. LocateCPEXBLOK for the real page requested and chain another CPEXBLOK with a return address of TRANRETN, to the same chain.
DMKPTR, TRANRETN no longer in transit, restore registers and return to RESTART for processing, DMKPTR, GETPAGE ---aeclaims-;-page on FREELIST (CORETABLE). DMKPTR, DOlO ---Par page-that is not in storage, do setup to read in the page. For DEFER option passed in R2, build CPEXBLOK to return to user after
page is in storage.PA§!! After the page is read into storage DMKPAGIO process, remove the user
from the wait state and update the lock count (if required).DMKPTR, GETRADD
--Set reel-address in R2, make PAGTABLE entry valid. Set cc=O and exit
to caller.DMKPTRFR ---Per-the caller's code in R2, obtain a page frame - DMKPTR, GETFREE ---obtain-page-frame via CORTABLE reference then exit to caller. DMKPTRFE via CPEXBLOK, check page availability via flush list (DMKPTRFL), if none available steal a user's page. Q1!KP!!i, The SELECT routine is entered to replenish the FREELIST from the
flush list or user's pages that have not been referenced.QMKPTR!:! Process pages to be returned by chaining them to the FREELIST. On page returns DEFER page requests are processed first. In locking a page in Real Storage (address in R2), add 1 to lock
count; if previously locked, and exit to caller. If not previously
locked, unchain theCORTIBLE entry from the user's page list and set
the lock count to 1.R!!!! To unlock
lock count
list prior
a locked page, reduce lock count by 1 and exit. If the
is now equal to zero, placeCORTABLE entry on user's page
to exitingfrom routine. CP Method of operation and Program Organization 1-203
directory specified storage size.
to caller.
virtual machine in locate mode. Locate
DMKPTR, TRANRETN
page is in storage.
from the wait state and update the lock count (if required).
--
to caller.
flush list or user's pages that have not been referenced.
count; if previously locked, and exit to caller. If not previously
locked, unchain the
the lock count to 1.
lock count
list prior
a locked page, reduce lock count by 1 and exit. If the
is now equal to zero, place
to exiting