- VM (operating system)
Infobox OS
name = z/VM
Teddy bear - a VM's mascot since 1983.
caption = zVM/CMS fullscreen
developer =IBM
source_model =Closed source
kernel_type =
supported_platforms =System/370 ,System/390 ,zSeries ,System z9
ui =
family = VM family
released = 1972
latest_release_version = IBM z/VM V5.4
latest_release_date = Sept. 12, 2008
latest_test_version =
latest_test_date =
marketing_target =
programmed_in =
prog_language =
language =
updatemodel =
package_manager =
working_state = Current
license = Proprietary
website = [http://www.vm.ibm.com/ www.vm.ibm.com]VM (often: VM/CMS) refers to a family of
IBM virtual machine operating system s used onIBM System/370 ,System/390 ,zSeries , andSystem z9 IBM mainframe s and compatible systems, includingHercules emulator for personal computers. The first version, released in 1972, was VM/370, or officially Virtual Machine Facility/370. This was aSystem/370 reimplementation of earlierCP/CMS operating system. Later major VM versions included VM/ESA, VM/SEPP, VM/BSEPP, VM/SP, ["VM/SP Announced 1980/02/11, GA 1980/12/12" cite web
last = Elliott
first = Jim
title = "The Evolution of IBM Mainframes and VM"
work =
publisher = SHARE Session 9140
date = 2004-08-17
url = http://www.linuxvm.org/Present/SHARE103/S9140jea.pdf
format = PDF
accessdate = 2007-10-21 ] VM/HPO, VMXA/SF, and VMXA/SP. The current version isz/VM , and is still widely used as one of the mainfull virtualization solutions for mainframe market.VM is quite different from other IBM mainframe operating systems, which include:
* The OS family (OS/360 ,OS/VS1 ,OS/VS2 ,MVS ,OS/390 , and the currentz/OS )
* The DOS family (DOS/360 ,DOS/VSE , and the currentz/VSE )
* Specialized systems, like TPF and the currentz/TPF
* Systems originating outside IBM, likeLinux on zSeries ,MTS , andMUSIC/SP VM's differences are primarily due to the unique circumstances in which
CP/CMS was built and distributed. For an historical perspective on the development of VM, seeHistory of CP/CMS .Overview
The heart of the VM architecture is a "control program" or
hypervisor called VM-CP (usually: CP; sometimes, ambiguously: VM). It runs on the physical hardware, and creates thevirtual machine environment. VM-CP providesfull virtualization of the physical machine – including all I/O and other privileged operations. It performs the system's resource-sharing, including device management, dispatching, virtual storage management, and other traditional operating system tasks. Each VM user is provided with a separatevirtual machine having its ownaddress space , virtual devices, etc., and which is capable of running any software that could be run on a stand-alone machine. A given VM mainframe typically runs hundreds or thousands of virtual machine instances. VM-CP began life as CP-370, a reimplementation ofCP-67 , itself a reimplementation of CP-40.Running within each virtual machine is another, "guest" operating system. This might be:
* CMS ("
Conversational Monitor System ", renamed from the "Cambridge Monitor System" ofCP/CMS ). Its official name is VM-CMS (confusing, since VM is commonly called VM/CMS). Most virtual machines run CMS, a lightweight, single-user operating system. Its interactive environment is comparable to that of a single-user PC, including a file system, programming services, device access, and command-line processing. (While an earlier version of CMS was uncharitably described as "CP/M on a mainframe", the comparison is an anachronism; the author of CP/M,Gary Kildall , was an experienced CMS user.)* A mainstream operating system. IBM's mainstream operating systems (i.e. the OS or DOS families) can be loaded and run without modification. The VM hypervisor treats guest operating systems as application programs with exceptional privileges - it prevents them from using privileged instructions (those which would let applications take over the whole system or significant parts of it), but simulates privileged instructions on their behalf. Most mainframe operating systems terminate a normal application which tries to usurp the operating system's privileges.
* Another copy of VM. A "second level" instance of VM can be fully-virtualized inside a virtual machine. This is how VM development and testing is done. (A "second-level" VM can potentially implement a "different" virtualization of the hardware. This technique was used to develop S/370 software before S/370 hardware was available, and it has continued to play a role in new hardware development at IBM. The literature cites practical examples of virtualization "five levels deep".) Levels of VM below the top are also treated as applications but with exceptional privileges.
* A copy of the mainframe version of AIX or
Linux . In the mainframe environment, these operating systems often run under VM, and are handled like other guest operating systems. (They can also run as 'native' operating systems on the bare hardware.)* A specialized VM subsystem. Several non-CMS systems run within VM-CP virtual machines, providing services to CMS users such as spooling, interprocess communications, and specialized device support. They operate "behind the scenes", extending the services available to CMS without adding to the VM-CP control program. By running in separate virtual machines, they receive the same security and reliability protections as other VM users. Examples include:
** RSCS ("Remote Spooling and Communication Subsystem") – communication and information transfer facilities between virtual machines [Creasy, "op. cit., p." 483 — role of RSCS.]
**RACF ("Resource Access Control Facility") — a security system
** VNET — a virtual network interfaceHypervisor interface
At one time, CMS was capable of running on a bare machine, as a true operating system (though of course nobody would do this). It now only runs as a guest OS under VM. This is because CMS relies on a
hypervisor interface to VM-CP, to perform file system operations and request other VM services. Thisparavirtualization interface:
* Provides a fast path to VM-CP, to avoid the overhead of full simulation.
* Was first developed as a performance improvement forCP/CMS release 2.1, an important early milestone in CP's efficiency.
* Uses a non-virtualized, model-dependent machine instruction as a signal between CMS and CP: DIAG ("diagnose").Note that the term "hypervisor" was probably coined during IBM's implementation of VM/370, when it was used to refer to the virtual DIAG handler.
History
The early history of VM is described in the articles
CP/CMS andHistory of CP/CMS . VM/370 was a reimplementation of CP/CMS, and was made available in 1972 as part of IBM's "System/370 Advanced Function" announcement (which addedvirtual memory hardware and operating systems to theSystem/370 series). Early releases of VM continued inopen source , and today are considered to be in thepublic domain . This policy ended in the mid 80s, when VM became a "For-charge Licensed System Product".VM remained an important platform "within" IBM, used for operating system development and time-sharing use; but for customers it remained IBM's "other operating system". The OS and DOS families remained IBM's strategic products, and customers were not encouraged to run VM. Those that did formed close working relationships, continuing the community-support model of early CP/CMS users. In the meantime, the system struggled with political infighting within IBM over what resources should be available to the project, as compared with other IBM efforts. 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. IBM was, after all, in the business of selling computer systems.
Varian provides this fascinating quote, illustrating VM's unexpected success:
The marketing forecasts for VM/370 predicted that no more than one 168 would ever run VM during the entire life of the product. In fact, the first 168 delivered to a customer ran only CP and CMS. Ten years later, ten percent of the large processors being shipped from Poughkeepsie would be destined to run VM, as would a very substantial portion of the mid-range machines that were built in Endicott. Before fifteen years had passed, there would be more VM licenses than MVS licenses. [Varian, "op. cit., p." 30 – extent of VM use; more VM licenses than MVS licenses]
VM's role changed within IBM when hardware evolution led to significant changes in processor architecture.
Backward compatibility remained a cornerstone of theIBM mainframe family, which still used the basic instruction set introduced with the originalSystem/360 ; but the need for efficient use of the 64-bitzSeries made the VM approach much more attractive. VM was also useful when running mainframe AIX andLinux , platforms that were to become increasingly important. The currentz/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. z/VM was first released in October 2000 [ [http://www.vm.ibm.com/overview/ www.vm.ibm.com] – release history] and remains in active use and development.IBM and third parties have offered many applications and tools that run under VM. Examples include
RAMIS ,FOCUS ,SPSS , NOMAD, DB2,REXX ,RACF , andOfficeVision . Current VM offerings run the gamut of mainframe applications, includingHTTP servers, database managers, analysis tools, engineering packages, and financial systems.VM mascot
In the early 1980s, the VM group within SHARE (the IBM user group) sought a mascot or logo for the community to adopt. This was in part a response to IBM's
MVS users selecting the turkey as a mascot (hilariously chosen, according to legend, by the MVS Performance Group in the early days of MVS, when its performance was a sore topic). In 1983, the teddy bear became VM's "de facto" mascot at SHARE 60, when teddy bear stickers were attached to the nametags of "cuddlier oldtimers" to flag them for newcomers as "friendly if approached". The bears were a hit and soon appeared widely. [ [http://www.vm.ibm.com/devpages/christin/vmwebart.html www.vm.ibm.com] – VM bear images on an IBM site, contributed by VM developer Pam Christina] Bears were awarded to inductees of the "Order of the Knights of VM", individuals who made "useful contributions" to the community. [Varian, "op. cit., p." 2 – the teddy bear story] [ [http://ppewww.ph.gla.ac.uk/~flavell/vmteddy.html ppewww.ph.gla.ac.uk] – another version of the bear origin story, by physicist Alan Flavell, with an image]References
VM sources (also see CP/CMS sources below)
* Bob DuCharme, "Operating Systems Handbook, Part 5: VM/CMS" (available online at [http://www.snee.com/bob/opsys/part5vmcms.pdf www.snee.com] ) – a fairly detailed user's guide to VM/CMS
* E. C. Hendricks and T. C. Hartmann, "Evolution of a Virtual Machine Subsystem", "IBM Systems Journal" Vol. 18, "pp." 111-142 (1979) – RSCS design and implementation
* IBM Corporation, "IBM Virtual Machine Facility/370 Introduction", GC20-1800, (1972) – the original manualExternal VM links
* [http://www.redbooks.ibm.com/redpieces/pdfs/sg247316.pdf z/VM textbook]
* [http://www.vm.ibm.com/ www.ibm.com/vm] – IBM: z/VM portal
* [http://www.vm.ibm.com/library/ www.ibm.com/vm/library] – IBM: z/VM manualsCitations
Family tree
de:Z/VM
Wikimedia Foundation. 2010.