VM (Operating system)
|
VM is an early and influential virtual machine operating system from IBM, apparently the first true virtual machine system. (Some would argue it is still the only "true" virtual machine system.) It is in wide use on IBM mainframes today — and growing, largely because VM is all but mandatory to get maximum benefit from Linux on zSeries.
VM traces its roots to the System/360, specifically the Model 67, and an operating system called CP-67. Like the Apollo space program of the same era, this early VM version and its hardware platform were way ahead of their time. The Model 67 began to introduce the radical concept of a self-virtualizing processor instruction set, perfected in later models. Essentially VM and the mainframe hardware cooperate so that multiple instances of any operating system, each with protected access to the full instruction set, can peacefully and concurrently coexist. This virtualization capability is so strong that VM can run as a guest inside itself — even multiple levels deep! — without much performance penalty.
Businesses and governments find VM incredibly useful for software change management, testing, etc. Since VM allows mixing any arbitrary collection of operating system versions there's no need for "big bang" software migrations. If testing is not finished for one particular application, that's no problem — it can run on the older operating system alongside applications running on the new operating system. Nor is it necessary to purchase hundreds or even thousands of separate servers to offer these benefits. VM slices up a single mainframe, dynamically managing workload. For organizations with hundreds or even thousands of applications, this flexibility is essential.
VM has evolved over decades to increase performance, add functionality, keep up with processor hardware improvements, and improve reliability and security by enforcing ever-stricter isolation for guest operating systems. Versions along the way included VM/370, VM/390, and today's z/VM (intended for zSeries systems). Also along the way VM picked up a feature called Conversational Monitor System, or CMS for short. The combination was (and sometimes still is) referred to as VM/CMS.
With CMS, VM is a full fledged operating system in its own right (and not just a hypervisor). IBM and third parties offer many applications for VM/CMS. Perhaps the most famous was OfficeVision, although today third parties offer HTTP servers, databases, etc.
Any mainframe operating system can run under VM. Nowadays the most popular is probably Linux on zSeries, and the major reason is that VM offers a level of sophisticated workload management on the mainframe that Linux alone does not yet offer. In particular, VM provides better memory (a.k.a. storage) management in a shared environment than Linux alone. VM also helps prevent a rogue Linux application from consuming "too much" CPU. It is common to run scores or even hundreds of Linux guests under z/VM — on a single mainframe server. Although Linux kernel crashes are rare, if a particular Linux guest crashes there is zero impact to any other part of the server. Other operating systems that run under VM include z/OS, VSE, TPF, and MUSIC/SP — and all their predecessors.
Recently EMC and Microsoft have recognized the value of virtual machine technologies through their acquisitions of VMware and Virtual PC, respectively. However, VM has been refined over many decades, and it is unique as a robust, reliable, high performance, high-end server technology for running enterprise-scale mixed workloads. Fully self-virtualizing processor hardware technology is essential to VM's capabilities, and that same processor technology is not found in today's PC and Macintosh CPUs.
See also
Further reading
- Melinda Varian, VM and the VM Community: Past, Present, and Future (available here (http://pucc.princeton.edu/~melinda/)) is an excellent detailed history, starting with the experimental precursor to CP-67.
External links
- Short History of IBM's Virtual Machines (http://cap-lore.com/CP.html)
- The IBM 360/67 and CP/CMS (http://www.multicians.org/thvv/360-67.html)