REAL STORAGE ALLOCATION AND PAGE MANAGEMENT DMKPTRAN --~nter 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, !!HHlQ~ Check page residency via LRA (LOAD REAL ADDRESS) operation. Q~KP!!!, TE~!~Q~~ 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.~!1KP!!!, 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==~fter-page-Is 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. Q~KPTR, CKDl!!:~!! For DEFER option passed in R2, build CPEXBLOK to return to user after
page is in storage.12~KPTR, 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 --~ntry via CPEXBLOK, check page availability via flush list (DMKPTRFL), if none available steal a user's page. Q1!KP!!i, SE~l!~± 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. QMKP!!!~~ 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.121!!H~T 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






































































































































































































































































































































































































































































