April 1, 1981 VIRTUAL MACHINE I/O MANAGEMENT
A real disk device can be shared among multiple virtual machines.
virtual device sharing is specified in the VK/370 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 su pport, refer to the VM/Jlg­ gng Determination Quide. The virtual machine operating system is responsible for the operation
of 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 dynamically, for the duration of the session.
virtual devices may be dedicat.ed, as when mapped to a fully equivalent
real device; shared, as when to a minidisk or when specified as a
shared virtual device; or spooled by CP to intermediate direct access
storage.
In a real machine runninq 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, os
can perform these same functions, but the device address specified and
the storaqe 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; 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 1/0 capability). Any I/O requests by the attached processor (the
processor without IIO 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 76 is
used) Input/output operations initiated by CP and spooling), are performed directly
tr ans lat ion.
for its own purposes (paging
and are not subject to Virtual machines may access data on MSS mass storage
that virtual machine's standard 3330 device support.
faults, and associated asynchronous interruptions, are
the virtual machine in this situation.
volumes using ftSS cylinder
transparent to Part 2. ContrJl Program (CP) 79
Page of GC20-1807-7 As Updated April 1, 1981 by TNL GN25-0829
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 (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 machine
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 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 machine's operating system. CP facilities allow multiple virtual machines to share unit record
devices. Since virtual machines controlled by CKS 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 spooling 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. With this method, files can be made available to multiple virtual machines,
or to different operating systems executing at different times in the
same virtual machine.
Files may also be spooled to remote stations via the Remote Spooling Communications Subsystem (RSCS), a component of VK/370. For a
description of RSCS and the remote stations that it supports, see "Part
5. Remote Spooling communications Subsystem (RSCS)." 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 number 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 information contained in this area and
its syntax are determined by the originator and receiver of the file.
For example, whenever an output spool file is destined for transmission 80 IBM VM/370 System Proqrammer's Guide
Previous Page Next Page