vmclones

FROM THE ORIGINAL PAPERS

A copy of the
whole computer.

Every virtual machine is a clone of a computer that does not exist.

What gets copied
A long, quiet aisle between rows of identical plain grey server cabinets in a data centre, lit by cool overhead light
AI-generated image, not a photograph of a real person or place.

1974efficient, isolated duplicate

  • Behave the same
  • Run nearly as fast
  • Stay in control
  • Three tests for a machine clone

The idea is older than the PC. It was built in the 1960s, given a precise definition in 1974, and in 2000 researchers counted exactly which PC instructions stood in its way.

Updated

THE SHORT ANSWER

A virtual machine is
a duplicate, with rules.

The definition still used in textbooks
comes from a 1974 journal paper.

THE DEFINITION

Three tests, set in 1974

Popek and Goldberg called a virtual machine an efficient, isolated duplicate of the real machine: programs behave the same, slow down only a little, and the monitor controls the resources.

What gets copied

THE FIRST ONES

Built in Cambridge, Massachusetts

CP-40 and CMS became operational in 1966 on a modified System/360 Model 40. CP-67 followed, and VM/370 became available in 1972.

The early systems

THE PC PROBLEM

Seventeen awkward instructions

A 2000 study checked all of the roughly 250 Pentium instructions and found seventeen that broke a key rule, making the chip non-virtualizable in the strict sense.

See the numbers

HOW MUCH IS COPIED?

Not every virtual thing
is a whole machine.

NIST describes several forms of virtualization, told apart by which layer of the computer they imitate. Pick one to see what it copies. The bar shows how much of the machine the guest sees as its own.

Descriptions follow NIST Special Publication 800-125 (January 2011). General information about how the technology is described, not security advice.

What gets copied

Choose a form of virtualization
Application virtualizationThe programming interface

Provides a virtual version of the interface an application expects, so it can run on another platform unchanged. NIST gives the Java Virtual Machine as the example.

Operating system virtualizationThe OS interface

Provides a virtual version of the operating system interface, so applications written for the same OS as the host each run in a separate container.

Hosted full virtualizationThe hardware, on top of an OS

The hypervisor runs on top of a host operating system. Each guest OS appears to have its own CPU, memory, storage, network and display, like a regular computer.

Bare metal full virtualizationThe hardware, directly

The hypervisor runs directly on the hardware with no host OS, and can even be built into firmware. NIST says servers are most often virtualized this way.

Hardware emulationDifferent hardware

A type of hosted virtualization in which the hypervisor presents different hardware from the physical machine, so it can run operating systems made for other platforms.

Source: NIST SP 800-125, Guide to Security for Full Virtualization Technologies, sections 2.1 and 2.2.

TWO NUMBERS WORTH KNOWING

A short definition,
a long list to check.

One number from the 1974 definition,
one from the 2000 check of a PC chip.

3 tests

Essential characteristics of a monitor

An essentially identical environment, at worst only minor decreases in speed, and complete control of system resources. The speed test rules out traditional emulators and complete software simulators.

THE DEFINITION · POPEK AND GOLDBERG, 1974

17 of ≈ 250

Pentium instructions that broke the rule

These sensitive but unprivileged instructions ran without raising a trap, so a monitor never got the chance to step in and simulate their effect.

THE PC CHECK · ROBIN AND IRVINE, 2000

The 1974 paper's main theorem says a monitor can be built if every sensitive instruction is also a privileged one. Robin and Irvine applied that idea to the Pentium in a USENIX Security paper.

Close view of a green computer motherboard with a plain unmarked silver processor chip in its socket, shallow depth of field
AI-generated image, not a photograph of a real person or place.

FOUR WAYS TO READ THE HISTORY

Follow the idea,
not the brand names.

The original papers are short, freely readable and still the clearest account of what a virtual machine is meant to be.

  1. Start with the 1974 definition

    Read the first section of Popek and Goldberg: one page sets out the three characteristics in plain words.

  2. Then read how it began

    Creasy's 1981 paper tells how CP/CMS was conceived in 1964 and why the design split machine management from user support.

  3. Look for the trap rule

    The key idea is simple: an instruction that touches the real machine must hand control to the monitor first.

  4. Match it to today's names

    NIST's 2011 guide maps the idea onto bare metal and hosted hypervisors, containers and application virtual machines.

THE EARLY SYSTEMS

One machine,
many private copies.

R. J. Creasy wrote that CP/CMS was conceived in 1964 as a second-generation time-sharing system. CP gave each user a separate computing environment at the machine instruction level, and CMS supported the user inside it. It was first called a pseudo-machine time-sharing system.

In 1966 CP-40 and CMS became operational on a System/360 Model 40 fitted with an associative memory for address translation. CP-67 ran on the Model 67, and VM/370 arrived in 1972. By 1981 Creasy counted over 2500 systems in operation.

A neat stack of blank cream punched cards on an old wooden desk beside a reel of magnetic tape, in soft window light
AI-generated image, not a photograph of a real person or place.

Questions

Questions people ask

Who defined the virtual machine?

The definition most often quoted comes from Gerald Popek and Robert Goldberg, in Communications of the ACM in July 1974: an efficient, isolated duplicate of the real machine.

Is an emulator a virtual machine?

Not in the 1974 sense. The efficiency test requires most instructions to run directly on the real processor, which rules out traditional emulators and complete software simulators. NIST today treats hardware emulation as a type of hosted virtualization.

What was the first virtual machine system?

R. J. Creasy wrote that CP-40 and CMS became operational in 1966 at IBM's Cambridge centre, on a specially modified System/360 Model 40. CP-67 followed on the Model 67.

Why were PCs hard to virtualize?

Robin and Irvine found in 2000 that seventeen of the roughly 250 Pentium instructions were sensitive but unprivileged, so they ran without letting the monitor step in.

What is the difference between bare metal and hosted?

NIST says a bare metal hypervisor runs directly on the hardware, while a hosted one runs on top of an ordinary operating system. Servers most often use the first and desktops the second.

ABOUT THIS NAME

Interested in leasing vmclones.com?

vmclones.com is part of the DoodleSale portfolio. It isn't in an auction right now, but you can ask about leasing it.

Ask about this name