virtual machine


Also found in: Dictionary, Thesaurus, Medical, Legal, Financial, Acronyms, Wikipedia.
Related to virtual machine: Java Virtual Machine

virtual machine

[′vər·chə·wəl mə′shēn]
(computer science)
A portion of a computer system or of a computer's time that is controlled by an operating system and functions as though it were a complete system, although in reality the computer is shared with other independent operating systems.

Virtual Machine

(operating system)
(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].

virtual machine

(2)
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.

virtual machine

(3)
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.

virtual machine

(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. It enables different operating systems to run in the same computer at the same time.

Virtual machines (VMs) are also widely used to run multiple instances of the same operating system, each running the same set or a different set of applications. The separate VM instances prevent applications from interfering with each other. If one app crashes, it does not affect the programs in the other VMs. This approach differs from a dual-boot or multiboot environment, in which the user has to choose only one OS at startup (see dual-boot). All virtual machines in the same computer run simultaneously.

VMs Are Like Machines Within the Machine
Each virtual machine functions as if it owned the entire computer. The operating systems in each VM partition are called "guest operating systems," and they communicate with the hardware via the virtual machine monitor (VMM) control program. The VMM "virtualizes" the hardware for each VM (for details, see virtual machine monitor).

Although a hot topic in the IT world, virtual machine technology dates back to the 1960s (see VM). The terms "virtual machine" and "virtualization" are used synonymously; however, virtualization also refers to other techniques (see virtualization). See virtualization, application virtualization and OS virtualization.


Non-Virtual Versus Virtual
This shows three applications running in a regular computer versus a virtualized computer. In the VM example, the guest operating systems may be the same or different.







Paravirtualization and Hardware
Guest operating systems can run in a virtual machine with or without modification. If changes are made to the OS to recognize the VMM, it is said to be "paravirtualized." For example, Linux and various Unix versions have been paravirtualized to run in the Xen VM environment. However, if the CPU hardware supports virtualization, Xen can run guest operating systems unmodified. In 2004 and 2006, Intel and AMD added virtualization to their CPUs, which traps the calls to the x86 hardware, making it easier to develop VMMs that run ordinary non-paravirtualized guest operating systems (see hardware virtualization).

Advantages of Virtualization



#1 - Consolidation
Multiple operating systems can run in the same server, eliminating the need to dedicate a single machine to one application. Old and new applications can run simultaneously with their respective operating systems in multicore servers with many threads of execution, saving space and power consumption in the datacenter. New versions of an OS and new applications can be deployed without purchasing new hardware.

#2 - Stability and Security
Conflicts can arise between supposedly stable 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. Multiple virtual machines running bread and butter applications are kept safely separated from each other. In addition, since each VM is isolated from the rest, a security breach in one does not affect the others. The fault tolerance and security brought about by the isolation of each virtual machine is a major benefit of virtualization.

#3 - Development Flexibility
A virtualized computer can host numerous versions of an operating system, allowing developers to test their programs in different OS environments on the same machine. In addition, with each application running in its own virtual partition, crashing in one virtual machine will not bring down the system.

#4 - Migration and Cloning
Virtual machines, each with their own OS and applications, function like self-contained packages that are said to be "decoupled from the hardware." It is relatively easy to move a VM from one server to another to balance the workload, to migrate to faster hardware, as well as to recover from hardware failure. VMs can be quickly cloned and deployed.

#5 - Desktop Virtualization
An increasing trend is to store a user's desktop (OS and applications) in a separate virtual machine in the server and use the PC or a dedicated terminal as a "thin client" to the server. Each user is isolated from all other users due to the virtual machine technology, and the maintenance of the applications is shifted from each user's desktop to the datacenter (see thin client). See virtual machine monitor, virtualization, application virtualization and OS virtualization.
References in periodicals archive ?
Web applications that adopt the Java 2 Platform, Enterprise Edition (J2EE) 3-tier structure) that operates interdependently or competes for resources is designated a virtual machine cluster.
Hardware performance may be an issue, and a virtual machine may not fully utilize the capability of a given device.
Reducing the size of a virtual hard disk (vmdk with VMware/vhd with Microsoft) can deliver a big pay-off if virtual machine usage is a large part of an organization's computing strategy.
vOptimizer Pro allows IT administrators to automate ongoing housekeeping on their virtualized storage infrastructure, creating highly optimized virtual machines that have smaller footprints and deliver improved performance.
Sanbolic's software allows users to store all virtual machine images on a shared SAN storage LUN which is accessible to all physical hosts.
vOptimizer delivers better virtual machine performance, makes more efficient use of storage and significantly reduces the time spent deploying and managing virtual machine image files.
Protection Wizard - With just a few mouse clicks, and in less than a minute, a virtual machine protection scenario can be created and deployed;
Manage your downtime window effectively: The amount of downtime you can expect is based on the size of the virtual machine and its interdependencies.
Additionally, every Parallels solution fully supports Intel Virtualization Technology and AMD Secure Virtual Machine Technology, which are optimized to provide superior virtual machine performance.
Virtual Machine World Now Under IT Compliance Scrutiny
SAN FRANCISCO -- Adobe Systems Incorporated (Nasdaq:ADBE) and the Mozilla Foundation, a public-benefit organization dedicated to promoting choice and innovation on the Internet, today announced that Adobe has contributed source code for the ActionScript[TM] Virtual Machine, the powerful standards-based scripting language engine in Adobe[R] Flash[R] Player, to the Mozilla Foundation.
The key benefit is to reduce the size of the virtual machine VHD file to simplify distribution.

Full browser ?