VM-CP provides full virtualization of the physical machine – including all I/O and other privileged operations.
A given VM mainframe typically runs hundreds or thousands of virtual machine instances.
"[15][16] The instruction contains two four-bit register numbers, called Rx and Ry, which can "contain operand storage addresses or return codes passed to the DIAGNOSE interface," and a two-byte code "that CP uses to determine what DIAGNOSE function to perform.
"[15] The available diagnose functions include: At one time, CMS was capable of running on a bare machine, as a true operating system (though such a configuration would be unusual).
This is because CMS relies on a hypervisor interface to VM-CP, to perform file system operations and request other VM services.
This paravirtualization interface: CMS and other operating systems often have DASD requirements much smaller than the sizes of actual volumes.
For this reason CP allows an installation to define virtual disks of any size up to the capacity of the device.
With CMS minidisks, the system can be configured to allow or deny users read-only or read-write access to a disk, but single files cannot have the same security.
VM/370 is a reimplementation of CP/CMS, and was made available in 1972 as part of IBM's System/370 Advanced Function announcement (which added virtual memory hardware and operating systems to the System/370 series).
However, IBM continued providing updates in source form for existing code for many years, although the upgrades to all but the free base required a license.
The OS and DOS families remained IBM's strategic products, and customers were not encouraged to run VM.
A basic problem with the system was seen at IBM's field sales level: VM/CMS demonstrably reduced the amount of hardware needed to support a given number of time-sharing users.
This add-on (which is installed over the base VM/SP release) improved several key system facilities, including allowing the usage of more than 16 MB of storage (RAM) on supported models (such as the IBM 4381).
When IBM introduced the System/370 Extended Architecture on the 3081, customers were faced with the need to run a production MVS/370 system while testing MVS/XA on the same machine.
IBM's solution was VM/XA Migration Aid, which used the new Start Interpretive Execution (SIE) instruction to run the virtual machine.
[23] Like RSCS, VTAM on VM ran under the specialized GCS operating system.
If the site has TCP/IP installed, RSCS could work with the SMTP service machine to deliver notes (emails) to remote systems, as well as receive them.
Backward compatibility remained a cornerstone of the IBM mainframe family, which still uses the basic instruction set introduced with the original System/360; but the need for efficient use of the 64-bit zSeries made the VM approach much more attractive.
VM was also utilized in data centers converting from DOS/VSE to MVS and is useful when running mainframe AIX and Linux, platforms that were to become increasingly important.
The current z/VM platform has finally achieved the recognition within IBM that VM users long felt it deserved.
Some z/VM sites run thousands of simultaneous virtual machine users on a single system.
Current VM offerings run the gamut of mainframe applications, including HTTP servers, database managers, analysis tools, engineering packages, and financial systems.
Unlike the normal SFS, access to BFS filesystems is controlled by POSIX permissions (with chmod and chown).
[31] Programs compiled to run under the OpenExtensions shell are stored in the same format as standard CMS executable modules.
[32] Bears were awarded to inductees of the "Order of the Knights of VM", individuals who made "useful contributions" to the community.