(1) The name given to various programming language interpreters. See Java Virtual Machine and Python.
(2) One instance of an operating system along with one or more applications running in an isolated partition within the computer. The virtual machine method is the traditional virtualization technique that enables different operating systems to run in the same computer as well as to prevent applications from interfering with each other.
Each virtual machine is like a "machine within the machine" and functions as if it owned the entire computer. The operating systems in each virtual machine communicate with the hardware via an abstraction layer called a "virtual machine monitor" (VMM) or "hypervisor." The operating systems run without modification unless they use the para-virtualization method (see Xen).
Examples of virtual machine software in the x86-based PC world are VMware, Virtual PC, Microsoft Virtual Server, Parallels Workstation and Xen. In x86-based Macintoshes, Parallels Desktop and VMware Fusion provide virtual machine capability.
Typical Use #1 - A Foreign Operating System
If a desired application runs under a different OS than the one commonly used by the organization, a virtual machine environment eliminates the need for a separate computer just to run that one program.
Typical Use #2 - Development and Production
Programs under development tend to crash often, but a virtualized machine can host development and production work at the same time. With each application group running in its own virtual partition, crashing in one virtual machine will not affect the programs in the other.
Typical Use #3 - Production and Production
Conflicts can arise between supposedly stable commercial applications, and troubleshooting can be daunting. As a result, cautious system administrators often host each type of application in a separate server even if the server is grossly underutilized. As in a virtualized production-development system, multiple production virtual machines keep different applications safely separated from each other.
Virtual Machine Is Not Multiboot
A virtual machine environment runs multiple operating systems simultaneously, whereas a dual-boot or multiboot environment loads only one operating system at startup based on a menu of choices. See dual boot.
Software and Hardware
In the late 1960s, VM was the first virtual machine environment. Developed for the IBM System/360 mainframe, it initially performed entirely in software. Hardware circuits were added later to provide faster and more robust partitioning between system images (see VM).
Starting with the Intel 386 in 1985, x86 CPUs included hardware circuits to assist in the running of multiple 16-bit DOS applications (see Virtual 8086 Mode). However, there was no hardware support for virtual machines that would run multiple 32-bit operating systems until Intel and AMD announced hardware virtualization in their chips in 2004 and 2005, respectively (see VT and AMD-V).
Virtualization and Multicore Chips
Multicore chips and virtualized applications are a perfect match, because the additional cores process the multiple operating systems simultaneously. While all virtualized programs share the same peripherals, the additional processing power in two or more cores support concurrent operations better than a single-core CPU. See hardware virtualization, MDF, MLPF and PR/SM. Contrast with OS virtualization.
 |
| A Virtualized Computer |
|---|
| In this example, three operating systems are running in one computer under the control of the VMM. |
| 1. | (operating system) | Virtual Machine - (VM) An IBM pseudo-operating system
hypervisor running on IBM 370, ESA and IBM 390
architecture computers.
VM comprises CP (Control Program) and CMS (Conversational Monitor System) providing Hypervisor and personal computing
environments respectively. VM became most used in the early
1980s as a Hypervisor for multiple DOS/VS and DOS/VSE
systems and as IBM's internal operating system of choice. It
declined rapidly following widespread adoption of the IBM PC
and hardware partitioning in microcode on IBM mainframes
after the IBM 3090.
VM has been known as VM/SP (System Product, the successor to
CP/67), VM/XA, and currently as VM/ESA (Enterprise Systems
Architecture). VM/ESA is still in used in 1999, featuring a
web interface, Java, and DB2. It is still a major IBM
operating system.
http://vmdev.gpl.ibm.com/.
["History of VM"(?), Melinda Varian, Princeton University]. | |
| 2. | | virtual machine - An abstract machine for which an interpreter exists.
Virtual machines are often used in the implementation of
portable executors for high-level languages. The HLL is
compiled into code for the virtual machine (an intermediate language) which is then executed by an interpreter written
in assembly language or some other portable language like
C.
Examples are Core War, Java Virtual Machine, OCODE,
OS/2, POPLOG, Portable Scheme Interpreter, Portable Standard Lisp, Parallel Virtual Machine, Sequential Parlog Machine, SNOBOL Implementation Language, SODA,
Smalltalk. | |
| 3. | | virtual machine - A software emulation of a physical computing environment.
The term gave rise to the name of IBM's VM operating system whose task is to provide one or more simultaneous
execution environments in which operating systems or other
programs may execute as though they were running "on the bare
iron", that is, without an eveloping Control Program. A major
use of VM is the running of both outdated and current versions
of the same operating system on a single CPU complex for the
purpose of system migration, thereby obviating the need for a
second processor. | |