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
Dedicated In most cases, the I/O devices and control units on a channel are shared among many virtual machines as minidisks and dedicated devices, and
shared with CP system functions such as paging and spooling. Because of
this sharing, CP has to sChedule all the I/O requests to achieve a
balance between virtual machines. In addition, CP must reflect the
results of the subsequent I/O interruption to the appropriate storage
areas of each virtual machine. By specifying a dedicated channel (or channels) for a virtual machine via the Class B ATTACH CHANNEL command, the CP channel scheduling
function is bypassed for that virtual machine. A virtual aachine
assigned a dedicated channel has that channel and all of its devices for
its own exclusive use. CP translates the virtual storage locations
specified in channel commands to real locations and performs any necessary paging operations, but does not perform any device address
translations. The virtual device addresses on the dedicated channel must match the real device addresses; thus, a minidisk cannot be used. SPOOLING FUNCTIONS A virtual unit record device, which is mapped directly to a real unit
record device, is said to be dedicated. The real device is then
controlled completely by the virtual aachine's operating systea. CP facilities allow multiple virtual machines to share unit record
devices. Since virtual aachines controlled by CftS ordinarily have modest requirements for unit record input/output devices, such device
sharing is advantageous, and it is the standard mode of system operation.
Spooling operations cease if the direct access storage space assigned
to spooling is exhausted, and the virtual unit record devices appear in
a not-ready status. The system operator may make additional spooling
space available by purging existing spool files or by assigning
additional direct access storage space to the spcoling function.
Specific files can be transferred from the spooled card punch or
printer of a virtual machine to the card reader of the same or another
virtual machine. Files transferred between virtual unit record devices
by the spooling routines are not physically punched or printed. lith this method, files can be made available to multiple virtual machines, or to different operating systems executing at different tiaes in the same virtual machine. CP spooling includes many desirable options for the virtual machine user and the real machine operator. These options include printing multiple copies of a single spool file, backspacing any nuaber of
printer pages, and defining spooling classes for the scheduling of real
output. Each output spool file has, associated with it, a 136-byte area
known as the spool file tag. The inforaation contained in this area and
its syntax are deter.ined by the originator and receiver of the file.
For example, whenever an output spool file is destined for transaission
to a remote location via the Remote Spooling Communications Subsystem, RSCS expects to find the destination identification in the file tag. Tag
data is set, changed, and queried using the CP TAG com.and. CP Introduction 1-7
Previous Page Next Page