execution, CP assigns it to a paging device, selecting the fastest such
device with available space. If the page has not changed, it remains
allocated in its original direct access location and is paged into real
storage from there the next time the virtual machine references that
page. A virtual machine program can use the DIAGNOSE instruction to
tell CP that the information from specific pages of virtual storage is
no longer needed; CP then releases the areas of the paging devices which
were assigned to hold the specified pages.
Paging is done on demand by CP. This means that a page of virtual
storage is not read (paged) fro. the paging device to a real storage
block until it is actually needed for virtual machine execution. Cp makes no attempt to anticipate what pages might be required by a virtual machine. While a paging operation is performed for one virtual machine,
another virtual machine can be executing. Any paging operation
initiated by CP is transparent to the virtual-machine. --
If the v1rtual maCh1ne is executing in extenaea control .ode with
translate on, then two additional sets of segment and page tables are
kept. The virtual machine operating system is responsible for mapping the virtual storage created by it to the storage of the virtual machine. CP uses this set of tables in conjunction with the page and segment tables created for the virtual aachine at logon time to build shadow
page tables for the virtual machine. These shadow tables map the
virtual storage created by the virtual machine operating system to the
storage of the real computing system. The tables created by the virtual machine operating system may describe any page and segment size
permissible in the IB! System/370. The system operator may assign the reserved page frames option to a
single virtual aachine. This option, specified by the SET RESERVE command, assigns a specific a.ount of the storage of the real machine to
the virtual machine. CP will dynamically build up a set of reserved
real storage page frames for this virtual machine during its execution
until the maximua number "reserved" is reached. Since the pages of
other virtual machines are not allocated from this reserved set, the
effect is that .ost of the active pages of the selected virtual machine reaain in real storage.
During CP system generation, the installation may specify an option
called virtual=real. With this option, the virtual machine's storage is
allocated directly from real storage at the tiae the virtual machine logs on (if it has the VIRT=RE1L option in its directory) 111 pages
except page zero are allocated to the corresponding real storage
locations. In order to control the real coaputing system, real page
zero must be controlled by CP. Consequently, the real storage size must be large enough to accomaodate the CP nucleus, the entire virtual=real
virtual aachine, and the reaaining pageable storage requirements of CP and the other virtual aachines.
The virtual=real option improves performance in the selected virtual aachine since it reaoves the need for CP paging operations for the
selected virtual .achine. The virtual=real option is necessary whenever prograas that contain dynaaically aodified channel programs (excepting
those of OS IS1! and OS/VS TC1! Level 5) are to execute under control of CP. Por additional infor.ation on running systems with dynamically .odified channel programs, see "Dynaaically Modified Channel Programs" in Y!L170 Prog!AY!!!..!.§ §.yide. CP Introduction 1-5
VIRTUAL MACHINE I/O MANAGEMENT A real disk device can be shared among multiple virtual machines. Virtual device sharing is specified in the VM/310 directory entry or by
a user command. If specified by the user, an appropriate password must be supplied before gaining access to the virtual device. A particular
virtual machine may be assigned read-only or read/write access to a
shared disk device. CP checks each virtual machine input/output
operation against the parameters in the virtual machine configuration to
ensure device integrity. Virtual Reserve/Release support can be used to further enhance device
integrity for data on shared minidisks. Reserve/Release operation codes
are simulated on a virtual basis for minidisks, including full-extent
minidisks. For details on Reserve/Release support, refer to the topic
"Reserve/Release," located under "scheduling I/O Requests" in this
section.
The virtual machine operating system is responsible for the operation ot all virtual devices associated with it. These virtual devices may be defined in the VM/310 directory entry of the virtual machine, or they may be attached to (or detached from) the virtual machine's
configuration, dynamically, for the duration of the terminal session. Virtual devices may be dedicated, as when mapped to a fully equivalent
real device; shared, as when mapped to a minidisk or when specified as a
shared virtual device; or spooled by CP to intermediate direct access
storage.
In a real machine running under control of as, input/output
operations are normally initiated when a problem program requests as to
issue a START I/O instruction to a specific device. Device error
recovery is handled by the operating system. In a virtual machine, as
can perform these same functions, but the device address specified and
the storage locations referenced will both be virtual. It is the
responsibility of CP to translate the virtual specifications to real. Virtual I/O can be initiated by either processor; however, all real I/O requests must be executed by the main processor, and all I/O interrupts must be received on the main processor (the processor with I/O capability). Any I/O requests by the attached processor (the
processor without I/O capability) are transferred to the main processor.
In addition, the interrupts caused by the input/output operation are
reflected to the virtual machine for its interpretation and processing.
If input/output errors occur, CP records them but does not initiate
error recovery operations. The virtual machine operating system must handle error recovery, but does not record the error (if SVC 16 is
used).
Input/output operations initiated by CP and spooling), are performed directly
translation.
for its own purposes (paging
and are not subject to See Appendix B of this volume for an explanation of additional
processing when the virtual I/O request results in a real I/O request to
an MSS 3330V volume. 1-6 IBM VM/310 System Logic and Problem Determination--Volume 1
Previous Page Next Page