Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Open Source

Linux on the IBM S/390


About VM

About VM

The Virtual Machine operating system, VM, began as one of those simple yet powerful ideas. VM virtualizes the entire S/390 mainframe so that a virtual machine running under VM can run any S/390 operating system, which then "thinks" that it has an entire mainframe at its disposal. Thus, VM can launch a virtual machine instance of VM, which can itself launch a virtual machine instance of VM, as in "recursion, noun: see recursion." All hardware facilities are virtualized by VM, leading to an architecturally assisted, seamless self-emulation that is a model of completeness and efficiency.

VM is used in production to run multiple operating system instances simultaneously on one physical mainframe, to test and debug upgraded systems side-by-side with production systems before deploying the upgrade, and by IBM to develop and debug VM and other S/390 operating systems such as the flagship OS/390. No virtual machine can crash another virtual machine; the isolation of each emulation is hardware-supported and solid to a greater extent than the isolation of processes under Unix.

VM was developed surreptitiously in the mid-1960s on the IBM 360. Upper management were told a half-truth, that a "debugger" was being coded to help debug a flawed and failing management-approved 360 operating system, which shortly thereafter sank without a trace. Accounts were juggled to conceal the labor being poured into a compelling technological hack that consumed the creative fire of scores of dedicated engineers and their nimble managers who provided cover for the project.

Once the secret was out, the product was released. Enthusiastic customer acceptance led to changes in the planned 370 architecture to lend hardware support to the virtualization principle, which the 390 architecture took even further in the 1980s.

VM has two main components: CP, the control program, which is the heart of the virtual machine model, and which resembles, from the point of view of any virtual machine it launches, a constantly accessible ROM monitor; and CMS, a flat-memory single-user operating system which is the most common virtual machine launched for native VM development.

Over the years, VM has had a great, if largely unacknowledged, impact on personal computing. The concept of a personal computer itself originated among VM users who had, in effect, just such a beast in each CMS virtual machine. Intel 80386 V86 mode, which provides hardware support for 16-on-32-bit virtualization, is a knockdown of the 370 support for VM. In recent years, interest has grown in virtualizing 32-on-32 on the Intel hardware, leading to commercial products such as VMWare and its open source shadow, Freemware, both of which can run simultaneous multiple operating systems on a single PC in a fashion analogous to VM's virtualization of the S/390. (Though the Pentium lacks the mature hardware support for virtualization present on the 390 architecture.)

VM is known wryly around IBM as "the operating system that outlived many of the managers who tried to kill it." For a technologically fascinating and dilbertesquely humorous summary of how VM emerged in response to IBM engineers' and customers' needs despite an IBM managerial mental block, read Melinda Varian's VM and the VM Community: Past, Present, and Future.


Return to Linux on the IBM S/390


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.