the page-in operation has been queued, DMKPTRAN exits to the paging I/O scheduler (DMKPAGIO), which initiates the paging operation and exits to
the dispatcher(DMKDSPCH) to await the interruption. Some requests for main storage page frames are handled differently from general virtual-to-real storage mapping. In particular, it may be
necessary forCP to obtain additional free storage for control blocks, I/O lists, buffers, etc. This is handled by the free storage manager,
whichmakes a direct call to DMKPTRFR to obtain the needed storage. Usually, this storage is immediately available (due to the page
buffering technique previously described). However, if theFREELIST is
exhausted, the request for free storage is recognized as a high-priority
call and queued first on the list of those waiting for free page frames.
The real storagemanager (DMKPTR) accumulates paging statistics that
the scheduler(DMKSCH) uses to anticipate user storage requirements. A
count of page-reads and page-writes is kept in each virtualmachine's VMBLOK; the corresponding total counts for the system are kept in DMKPSA. A running total of the number of pages a virtual machine has
resident. at each instance ofoaqe-read. is keot in the VMBLOK. A count of the number of times a virtual machine enters page-wait, because a
page frame has been stolenfrom it, is also in the VftBLOK. The
section entitled "Controlling Multiprogramming" under "Dispatching andScheduling" describes the use to which the scheduler puts these counts. Vft/310 The VM/310 virtual=real option involves the mapping in a one-for-one correspondence of a virtual machine storage
area with an equivalent real storage area. For instance, virtual page 1
is in real pageframe 1 and virtual page 20 is in real page frame 20. Virtual page 0 is relocated at the end of the virtual storage space
because 'it cannot occupy real pageframe O. The CP nucleus is altered at system generation to support the
virtual=real option.Virtual machines with virtual=real (specially
identified in the directory) can thenlog on and use the space reserved
for this option. That space can be used by only one virtualmachine at a time. Two virtual machines with the virtual=real capability cannot
occupy thesame space at the same time. The virtual=real option allows the virtual machine to bypass the
control program's CCi translation. This is possible becauseI/O from a
virtualmachine occupying a virtual=real space contains a list of CCis
whose data addresses reflect the real storage addresses. The
restriction in this situation is that the virtual machine does notperforg I/O into page frame 0 because this would perform a data transfer
into real pageframe O. At the same time, it is assumed, and cannot be
checked, that the virtualmachine also does not attempt to do I/O beyond
the bounds of its virtual addressing space. To do so would cause the
destruction of either theCP nucleus, which resides beyond the virtual machine space, or another user's page.
If the realI/O device is an MSS 3330V, then CCi translation is not
bypassed sinceCP must still be able to recognize an ftSS cylinder fault. See Appendix B for details.
The bypassing of CCi translation for the virtualmachine occupying
the virtual=real space is only invoked after the virtualmachine has
executed theSET NOTRANS ON command. This command can only be issued by
the virtualmachine occupying the virtual=real space. The command initiates the bypass of CCW translation. This option is automatically turned off if the virtual machine perforas an explicit reset or an
implied reset by performing a virtualIPL. During virtual aachine IPt, I/O must be performed into page frame O. For this reason, normal virtual IPL simulation assumes CCw translation in effect to accomplish 1-110 IBM VM/370 System Logic and Problem Determination--Volume 1
the dispatcher
necessary for
which
buffering technique previously described). However, if the
exhausted, the request for free storage is recognized as a high-priority
call and queued first on the list of those waiting for free page frames.
The real storage
the scheduler
count of page-reads and page-writes is kept in each virtual
resident. at each instance of
page frame has been stolen
section entitled "Controlling Multiprogramming" under "Dispatching and
area with an equivalent real storage area. For instance, virtual page 1
is in real page
because 'it cannot occupy real page
virtual=real option.
identified in the directory) can then
for this option. That space can be used by only one virtual
occupy the
control program's CCi translation. This is possible because
virtual
whose data addresses reflect the real storage addresses. The
restriction in this situation is that the virtual machine does not
into real page
checked, that the virtual
the bounds of its virtual addressing space. To do so would cause the
destruction of either the
If the real
bypassed since
The bypassing of CCi translation for the virtual
the virtual=real space is only invoked after the virtual
executed the
the virtual
implied reset by performing a virtual