What is VM?
Virtual Machine or VM is an operating system that uses software partitioning to provide each user with a simulation of a real System/390 computer. VM runs on System/370/390 mainframes because they have the capability to implement a concept called virtual storage. Each VM user has a virtual copy of the real computing system including processors, storage, and input/output devices that they can start, crash, or run programs on without affecting other users. Virtual Machine exists only when a user is logged on.  

VM's Uses
VM allows real machine resources to be shared by many different types of users at the same time. Its flexibility and relatively high performance are provided at a cost lower than what could be achieved through hardware partitioning or duplication.
Over 9 million users logon to VM systems daily. Many of these customers use VM primarily for office communication with applications like Office Vision, but many other applications/programs are also being used simultaneously.  

About VM Versions
VM evolved from a research prototype that was designed in IBM's Cambridge Scientific Center in the late 1960s. It has evolved through numerous versions and releases since its inception, each offering different features and running on different system architectures. This is a chronological list of the VM versions you may see referenced:
VM/370 VM Facility/370
VM/SP VM/System Product
VM/XA SP VM/Extended Architecture System Product
VM/ESA VM/Enterprise Systems Architecture
VM Components
The VM operating system is made up of the following components. Each component implements different functions.

VM Component Names and Functions
Abbreviation VM Component Name and Function
CP - Control Program: Services virtual machines by providing brief increments of processing time on the CPU (Central Processing Unit) to each user, before moving on to the next user
CMS - Conversation Monitor System: The operating system that each VM user runs that provides an end-user command interface
GCS - Group Control System: Manages subsystems that support a SNA network
TSAF - Transparent System Access Facility: Connects to and communicates with other APPC/VM applications in other VM systems
APPC - Advanced Program-to-Program Communication / VM VTAM Services
DVF - Dump Viewing Facility: Allows users to display, format, and print data interactively from CP abend and standalone dumps
VM/REXX - Procedures Language VM/REXX Interpreter: Processes the REXX (REstructured eXtended eXecutor) programming language
VMSES - Virtual Machine Serviceability Enhancements Staged: Helps install VM/ESA and apply code changes
DFSMS - Data Facility Storage Management Subsystem: Allows data to be moved to new storage devices

About CP and CMS
The two most important VM components (and the ones that users are most familiar with) are:
OCP (Control Program): CP is the only component that does not operate within a virtual machine. In addition to creating the virtual machine when a user logs on, it controls real machine operation by administering hardware/resources, controlling system startup/shutdown, and performing support tasks similar to other operating systems.
CP services virtual machines by providing brief increments of processing time on the CPU (Central Processing Unit) to each user, before moving on to the next user. VM users are defined in the VM directory that contains their userid, password, privilege classes, and system configuration (storage and disk space associated with their userids).
CMS (Conversation Monitor System): CMS is the operating system that each VM user runs that provides an end-user command interface (interactive services) - including source editors, language support and data/file manipulation. CMS also provides program interfaces that allow MVS and DOS/VSE applications to be run under CMS on Virtual Machines.
The other components provide services to CMS or fulfill support roles that are invisible to the user.  
VM Storage Management Concepts
CP manages real storage and provides virtual storage address spaces for itself and virtual machines using auxiliary storage to hold data that does not fit in real storage. Only the instructions and data that are currently being processed need to be contained in real storage. The data that is stored in auxiliary storage is read (paged in) or written (paged out) to real storage as needed for processing. This makes it possible to run programs with total storage requirements far exceeding the amount of real storage installed on the system.

The key concepts of VM Storage Management are:
Real Storage (also referred to as central, core, main, or processor storage): Storage that holds instructions and data that are currently being processed. There is a finite amount of real storage installed on a VM system.
Virtual Storage: A data space (consisting of unique addresses) that is created when a user logs on to VM. It is analogous to RAM in a PC, and is used for high-speed access to instructions and data needed for processing that is being performed in real storage.
Auxiliary Storage (also referred to as DASD (Direct Access Storage Devices)): Storage devices that hold programs, instructions, and data that are currently inactive. CP reads information from DASD to real storage only when it is required for processing. Most DASD in use today are rotating magnetic disks, each unit is called a volume. The amount of DASD associated with a system is not finite, additional DASD can be added.
VM Communication Subsystems
Communications subsystems are the ways that users communicate with the VM system and how multiple VM systems communicate with each other. VTAM (Virtual Telecommunications Access Method) is a tool utilized in IBM's Systems Network Architecture (SNA) to allow users to connect to VM. TCPIP (Transmission Control Protocol Internet Protocol) and NetBios are other ways for users to communicate with VM systems.
Users can communicate with their VM system in a variety of methods, including:
Terminals: The user is connected to the VM system through a 3270 terminal that is connected to a control unit primarily via token ring, but the connection may also be via coaxial cable (coax).
PC and workstations: PC and workstations that emulate 3270 terminals can be connected to VM systems in the same way terminals are, or through Local Area Networks (LANs).
Dial Access: Users with PCs or workstations that emulate 3270 terminals can dial in on an asynchronous telephone line with a modem attached.
Multiple Systems Can be connected in several ways: SPOOL file transfer, terminal pass-through and CSE (Cross System Extension)
Using a VTAM connection, VM systems communicate using RSCS (Remote Spooling Communications Subsystem). Users on each system can send SPOOL files (data, programs, or other information), commands, and messages to users on other systems.
VM/PassThrough (PVM) lets users on one system log on to other systems. CSE allows user directories and SPOOL files to be shared by several systems without having to send the directories or files to each system.
VM Minidisk
The VM minidisk is your permanent storage location.
A minidisk is the piece of DASD storage assigned to a VM userid that acts as the permanent storage location for that user's files. The minidisk consists of cylinders with each cylinder representing approximately 0.8 megabytes of storage.
Each minidisk is referred to by a letter (A, B, C, etc.), and has an address (i.e. 191). By default, the address assigned to your personal minidisk is A with the address of 191 and is referred to as Mode A-191 (as explained below).  

VM Readerlist
The VM Readerlist is your temporary storage location.
A Readerlist is a piece of storage that is part of SPOOL file space shared by all users of the VM system. The Readerlist is a temporary storage area assigned to your userid. When someone sends you a file, it is located in your Readerlist and must be received onto your Minidisk (usually the A disk). Reader spool files are automatically purged after 10 days. VM users receive notification that spool files will be purged in so many days.
Any file that is not moved from the Readerlist to permanent storage (Minidisk) will be lost once it is purged from the spool file. The Readerlist is not backed up by and cannot be accessed by VMBACKUP.  

Creating Files on VM Systems
VM system users create and update files using IBM's VM system editor called XEDIT (Extended Editor). All files created using XEDIT have a three-part identifier:
Filename - is used to distinguish one CMS file from another. It usually describes the contents of the file. The filename can be up to 8 characters in length including letters, numbers, and some special characters.
Filetype - is used to classify or group files of a similar type. It can be up to 8 characters in length including letters, numbers, and some special characters.
Certain filetypes denote special characteristics that files have, what they are used for, or how they can be manipulated or printed - such as EXEC, TEXT, SCRIPT, LIST3820, or OFSLOGfl .
Filemode - identifies the minidisk on which the file resides. Filemode is a letter of the alphabet followed by a the specific volume address for the file (like a VM user's default minidisk location of A-191).
If you omit the filemode, the VM system will automatically assume you want the file stored on your default minidisk (on location A).
About VM System Status Messages
While you are working on a VM session, you will see various messages at the bottom right corner of the screen. These messages are the system status for your VM session. They give you information on what is happening on your session and what you need to do next.  

Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.