Page of GC20-1807-7 As Updated April 1, 1981 by TNL GN25-0829
Using the Virtual Machine Communication Facility
The following discussion presents ideas and suggestions for using the
virtual Machine communication Facility (VKCF). VMCF APPLICATIONS The VM/370 system with VMCF provides the user with the potential to
apply new and different techniques to current applications.
The VMeF functions may be used to multitask virtual machines. Each
virtual machine can become a subtask (parallel or otherwise) of another
virtual machine. A virtual machine task can be a simple program or a
larqe processor. The VMCF functions provide the WAIT/POST, serialization and communication facilities to control such an
environment. The existinq VM/370 functions provide efficient
scheduling, dispatching and basic resource controls. The advantage of
such an environment is that a user is less restricted by operating
system (software) limitations and gains the flexibility of machine
languages and hardware. VMCF provides a clear and concise method for sharing and serializing
resources between virtual machines. The resources can range anywhere
from multi-write minidisks to entire processors. The control functions
for resource sharing (resource management, serialization, and the like)
can be contained in a virtual machine.
It is conceivable that functions could be added to VK/370 without
altering the control program (CP). A special privilege class virtual
machine could be used to provide additional functions to non-privilege
class users using the VMCF interface. Similarly, CMS capabilities could
be expanded (or at least appear to be expanded) by linking CMS with
other virtual machines. The program testing capabilities offered by VMCF can range from device
simulation to teleprocessing network simulation. In particular, VMCF can be used to provide external interactions from one virtual machine to
another. A simulated teleprocessing network could be constructed with
virtual machine. Each virtual machine would effectively become a node
within the network. The network,structure could range from a simple Part 2. Control Program (CP) 145
Page of GC20-1807-7 As Updated April 1, 1981 by TNL GN25-0829
tree type structure to a complicated multi-path mesh type structure.
The program logic within each node virtual machine would be the same
logic as required for a real teleprocessing node. In theory, a
reasonably complicated structure could be simulated without requiring
the physical hardware.
The significant testing capability provided by VMCF is the ability to
link the test system with test/simulation routines in another virtual
Although the VMCF interface is intended for communication from one
virtual machine to another it can also be used to communicate within a
single virtual machine (wrap connection) The VKCF interface could
conceivably be used to link one or more operating system tasks that are
logically separated by the software. This would allow task to task
communication rather than virtual machine to virtual machine
communicat ion.
The VMCF interface could possibly be used to simulate a virtual
multiprocessing environment. SECURITY AND DATA INTEGRITY The VMCF interface provides the following security aids: The user doubleword in the external interrupt message header can be
used to contain a security code to prevent unwarranted users from
accessing a shared data base or other confidential information. The AUTHORIZE SPECIFIC option allows a user to restrict messages sent
to his virtual machine. This option is useful when slave machines
are to communicate only with a host machine. The slave machines can AUTHORIZE SPECIFIC with the host and prevent unwarranted users from
clogging their message queues. The design of VMCF prevents malicious users from intercepting
transactions in process for other users. (for example, user D can not
execute a RECEIVE, REPLY, REJECT or CANCEL to a message sent to user
B from user A).
The VMCF support module is designed such that a user is always informed
of conditions that could threaten the integrity of his own data. The
user is notified either with a DIAGNOSE X'006S' return code or data
transfer error code. There is no internal buffering of user data within
the control program (CP), a message is always retained by either the SOURCE or SINK virtual machine. If a SEND type request fails, the SOURCE still has a copy of the original message. If a SINK REPLY fails,
the SINK user still has a copy of the REPLY data. The Diagnose return
code or data transfer error code can indicate to a user that a
transaction failed. It is up to the user to preserve the associated
transaction data. The following are considerations which should be
noted by a VKCF user:
146 IBM VM/370 System Programmer's Guide
Previous Page Next Page