2. USAGE GUIDELINES › 2.1 Operating System Concepts
2.1 Operating System Concepts
The VM operating system provides a simulation of hardware
facilities for operating systems and applications to use.
Operating systems such as MVS, VSE, and VM that run natively
can run in a virtual machine under VM. VM provides virtual
machine, time sharing, networking, and diagnostic support for
IBM OS390 and z/OS systems.
Since its inception in the early 1970s, the VM operating
system has rapidly increased its popularity and services
among the IBM user community. Running on machines from the
smallest IBM 9370 to the largest IBM ES/9000, the VM
interface addresses the diverse needs of its user groups.
VM's interactive CMS subsystem has also served to increase
the use of the VM operating system. CMS's simplicity of use
and numerous products that operate under it -- SAS, PROFS,
FORTRAN, APL, and CICS, to name a few -- have resulted in the
expansion of the VM user community.
THE ENVIRONMENT PROVIDED BY VM
VM has two principal components: CP and CMS. CP (Control
Program) runs in a real machine and can simulate concurrent
operation of multiple virtual machines. CP is primarily a
real machine resource manager. CMS (Conversational Monitor
System) provides the online interface to the system. CMS
operates only in a virtual machine, and together with CP,
provides a time-sharing system suitable for program
development, problem solving, and general time-sharing work.
Some of other VM components are:
RSCS - for inter-network data transfer
PVM - for networking VM terminals
VSCS - for networking VM terminals using VTAM
VM also provides services that handles communication between
multiple systems using TSAF (Transparent System Access
Facility) and APPC/VM. APPC/VM VTAM (AVS) lets application
programs using APPC/VM or CPI Communications communicate with
programs anywhere in a SNA network.
VM provides an environment in which several copies of the
same operating system or of different operating systems can
run concurrently. These systems all have a unique structure
internally and perform different functions (or similar
functions in a different manner). The environment provided
by VM comprises the following categories:
HARDWARE INTERFACE
CPU - The operating system can use privileged
instructions to control the CPU.
storage - The operating system can manage storage
allocated to it in any way, including setting
storage keys and resetting reference bits.
I/O - The operating system can construct channel
programs and initiate I/O instructions to read
and write on any recording medium.
SERVICES
VM controls the real environment (CPUs, storage, and I/O
devices). To do this, it runs in supervisor state. This
allows VM to issue any instruction that is valid for the
model of processor on which it is running. To maintain the
integrity of its own code, to protect the code in one virtual
machine from damage by another, and to prevent unauthorized
modification of the real environment by virtual machines, VM
runs virtual machines in real problem state. This means that
when the virtual machine issues an instruction that is valid
only in supervisor state, the hardware intercepts the
instruction and passes control to VM. VM then provides any
management services required for the instruction to execute
properly in the real environment. This is necessary because
the operating system in a virtual machine behaves as though
it owns the real environment and issues supervisor or
privileged instructions.
Paging - VM provides real storage management for virtual
machines that do not have real storage dedicated
to them as a part of system generation. VM
implements demand and block paging and manages
data caching in real storage and expanded storage.
VM allows pages in real storage to be nonpageable
(locked), eliminating the need to page the locked
frames. VM also allows part of real storage to be
reserved for use by a virtual machine so that it
is shielded from storage contention by other
virtual machines.
I/O - VM initiates all I/O operations in the real
machine. VM provides real device management
services through the translation of virtual device
addresses to real device addresses, and of storage
references in channel programs into real
addresses. VM allows DASD to be partitioned for
use by several virtual machines, and provides for
relocation of the cylinder or block reference in
the virtual channel program to the real cylinder
or block on the device. VM also provides
interfaces for synchronous and asynchronous I/O
that reduce the work required within a virtual
machine to perform I/O. VM will also simulate
channel-to-channel adapters (CTCA) so that two
virtual machines can communicate with each other.
No real CTCA is required for this.
Spool - VM can simulate unit record devices for a
virtual machine, providing read access to the VM
spool via a virtual reader device and providing
write access to the spool via a virtual punch or
print device. These virtual unit record devices
do not have to have a real counterpart on the
system. A facility is also provided that allows
the recording of virtual console traffic to a
spool file for subsequent reference.
Communications - VM provides the ability for virtual
machines to set up communications between with
each other. This is accomplished by means of VMCF
(virtual machine communication facility) and IUCV
(interuser communications vehicle). IUCV is also
used by VM to provide services such as access to
VTAM or a security package, and to allow a virtual
machine to trap messages that would otherwise be
displayed on its virtual console.
Assists:
VMA - VMA (virtual machine assist) is a microcode
enhancement for VM that reduces or eliminates the
need for CP to provide instruction simulation for
virtual machines.
PMA - PMA (preferred machine assist) assist allows a MVS
guest single preferred to run in real supervisor
mode, eliminating the requirement for VM to handle
I/O initiated by the guest to any device on a
channel that has been set aside for that purpose.
The only time VM intercepts the guest is when I/O
is done to some device managed by CP or when some
other CP service is required.
SIE - SIE (start interpretive execution) is used by CP
to allow a virtual machine access to the real
hardware facilities. SIE eliminates much of the
CP processing on simulating most privilege
instructions and certain interrupts for a virtual
machine by performing these functions by way of
hardware.
SIE - SIE Assist provides additional performance Assist
enhancements for a virtual machine that has
exclusive control of a real device by eliminating
the need for CP to intercept the I/O for integrity
checking.
MHPGS - MHPGS (multiple high performance guest support)
provides VM with the ability to have more than one
guest that has virtual storage mapped directly to
virtual storage. The guest which is given control
of real page zero is called the V=R (virtual=real)
guest and the other guests that have this
virtual-to-real storage mapping are called V=F
(virtual=fixed) guests. VM/ESA preferred machine
recovery is available only for the V=R guest.
IMPLICATIONS FOR MEASUREMENT
VM provides measurement data in two basic forms: account
data and monitor data. The account data is formatted in
80-byte card images and provides information suitable for
accounting and chargeback. The monitor data is formatted as
variable length records and provides information suitable for
performance analysis and capacity management and planning.
VM views the virtual machine at the simulated hardware level.
It does not know the unique internal structures, code paths,
or algorithms used by the software running in the virtual
machine. Therefore, VM can provide measurements of system
use only to the level of resource use that it understands:
the virtual machine. A transaction within the virtual
machine is not recognized by VM as a transaction in the same
way that the operating system within the virtual machine
recognizes it. This means that VM cannot measure this
activity as a transaction in a manner that provides meaning
as a measurement of virtual transaction resource consumption
or elapsed time.
VM measures transactions from internal perspective: a
transaction is a piece of work from the time that a virtual
machine is dispatched until the time it is dropped from the
dispatch queue. VM provides measurements of resource
consumption by the virtual machine, and measurements of
resources required to manage the virtual machine within VM.
VM also provides overall system measurements of real device
activity, storage use and management, scheduler activity, and
system performance.