Sei sulla pagina 1di 5

|  

  
From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article  
     
Please help improve this article by adding reliable references. Unsourced material may be challenged and
removed. ¦ 

In computing, —  


  is a virtualization of computers or operating systems. It
hides the physical characteristics of a computing platform from users, instead showing another
abstract computing platform.[1][2] The software that controls the virtualization used to be called a
"control program" at its origins, but nowadays the term hypervisor or ›
  

are preferred.

Π 
[hide]

O„ 1 Concept
O„ 2 Reasons for virtualization
O„ è Full virtualization
O„ ÿ Hardware-assisted virtualization
O„ - Partial virtualization
O„ D Paravirtualization
O„ [ Operating system-level virtualization
O„ ‰ See also
O„ · References
O„ 10 External links

GΠ
The term "virtualization" was coined in the 1·D0s, to refer to a virtual machine (sometimes
called   , a term which itself dates from the experimental IBM Mÿÿ ÿÿ
system.[

] The creation and management of virtual machines has been called 
 
›

, or ››

, more recently.

Platform virtualization is performed on a given hardware platform by 


software (a 

 , which creates a simulated computer environment, a ›
 , for its  

software. The guest software is not limited to user applications; many hosts allow the execution
of complete operating systems. The guest software executes as if it were running directly on the
physical hardware, with several notable caveats. Access to physical system resources (such as
the network access, display, keyboard, and disk storage is generally managed at a more
restrictive level than the 
processor and system-memory. Guests are often restricted from
accessing specific peripheral devices, or may be limited to a subset of the device's native
capabilities, depending on the hardware access policy implemented by the virtualization host.

Virtualization often exacts performance penalties, both in resources required to run the
supervisor, and as well as in reduced performance on the virtual machine compared to running
native on the physical machine.

G   


  
In case of server consolidation, many small physical servers are replaced by one larger physical
server, to increase the utilization of costly hardware resources such as CPU. Although hardware
is consolidated, typically OSs are not. Instead, each OS running on a physical server becomes
converted to a distinct OS running inside a virtual machine. The large server can "host" many
such "guest" virtual machines. This is known as Physical-to-Virtual (P2V transformation.

A virtual machine can be more easily controlled and inspected from outside than a physical one,
and its configuration is more flexible. This is very useful in kernel development and for teaching
operating system courses.[è]

A new virtual machine can be provisioned as needed without the need for an up-front hardware
purchase. Also, a virtual machine can easily be relocated from one physical machine to another
as needed. For example, a salesperson going to a customer can copy a virtual machine with the
demonstration software to his laptop, without the need to transport the physical computer.
Likewise, an error inside a virtual machine does not harm the host system, so there is no risk of
breaking down the OS on the laptop.

Because of the easy relocation, virtual machines can be used in disaster recovery scenarios.

However, when multiple VMs are concurrently running on the same physical host, each VM may
exhibit a varying and unstable performance, which highly depends on the workload imposed on
the system by other VMs, unless proper techniques are used for temporal isolation among virtual
machines.

There are several approaches to platform virtualization.

Examples of virtualization scenarios:

Running one or more applications that are not supported by the host OS
A virtual machine running the required guest OS could allow the desired applications to
be run, without altering the host OS.
Evaluating an alternate operating system
The new OS could be run within a VM, without altering the host OS.
Server virtualization
Multiple virtual servers could be run on a single physical server, in order to more fully
utilize the hardware resources of the physical server.
Duplicating specific environments
A virtual machine could, depending on the virtualization software used, be duplicated and
installed on multiple hosts, or restored to a previously backed-up system state.
Creating a protected environment
If a guest OS running on a VM becomes infected with malware, the host operating
system's exposure to the risk may be limited, depending on the configuration of the
virtualization software.

G


  
Main article: Full virtualization

In full virtualization, the virtual machine simulates enough hardware to allow an unmodified
"guest" OS (one designed for the same instruction set to be run in isolation. This approach was
pioneered in 1·DD with the IBM CP-ÿ0 and CP-D[, predecessors of the VM family. Examples
outside the mainframe field include Parallels Workstation, Parallels Desktop for Mac,
VirtualBox, Virtual Iron, Oracle VM, Virtual PC, Virtual Server, Hyper-V, VMware
Workstation, VMware Server (formerly GS Server, QEMU, Adeos, Mac-on-Linux,
WinÿBSD, WinÿLin Pro, and Egenera vBlade technology.

G|   


  
Main article: Hardware-assisted virtualization

In hardware-assisted virtualization, the hardware provides architectural support that facilitates


building a virtual machine monitor and allows guest OSes to be run in isolation [ÿ]. Hardware-
assisted virtualization was first introduced on the IBM System è[0 in 1·[2, for use with
VM è[0, the first virtual machine operating system. In 200- and 200D, Intel and AMD provided
additional hardware to support virtualization. Examples of virtualization platforms adapted to
such hardware include Linux KVM, VMware Workstation, VMware Fusion, Microsoft Virtual
PC, en, Parallels Desktop for Mac, VirtualBox and Parallels Workstation.

Hardware platforms with integrated virtualization technologies include:

O„ x‰D (and x‰D-DÿAMD-V (previously known as Pacifica, Intel VT-x (previously


known as Vanderpool
o„ IOMMU implementations by both AMD and Intel.
O„ Power Architecture (IBM, Power.org
O„ Virtage (Hitachi
O„ UltraSPARC T1, T2, T2+ (Sun Microsystems

G 

  
This section       .
Please help improve this article by adding citations to reliable sources. Unsourced material may be
challenged and removed. ¦    "Hardware virtualization" ± news books scholar
images

In partial virtualization, including address space virtualization, the virtual machine simulates
multiple instances of much of an underlying hardware environment, particularly address
spaces.[ 
] Usually, this means that entire operating systems cannot run in the virtual
machine ± which would be the sign of full virtualization ± but that many applications can run. A
key form of partial virtualization is address space virtualization, in which each virtual machine
consists of an independent address space. This capability requires address relocation hardware,
and has been present in most practical examples of partial virtualization.[

]

Partial virtualization was an important historical milestone on the way to full virtualization. It
was used in the first-generation time-sharing system CTSS, in the IBM Mÿÿ ÿÿ experimental
paging system, and arguably systems like MVS and the Commodore Dÿ (a couple of 'task switch'
programs.[   ][

]. The term could also be used to describe any operating
system that provides separate address spaces for individual users or processes, including many
that today would not be considered virtual machine systems. Experience with partial
virtualization, and its limitations, led to the creation of the first full virtualization system (IBM's
CP-ÿ0, the first iteration of CP CMS which would eventually become IBM's VM family. (Many
more recent systems, such as Microsoft Windows and Linux, as well as the remaining categories
below, also use this basic approach.[   ][

]

Partial virtualization is significantly easier to implement than full virtualization. It has often
provided useful, robust virtual machines, capable of supporting important applications. Partial
virtualization has proven highly successful for sharing computer resources among multiple
users.[

]

However, in comparison with full virtualization, its drawback is in situations requiring backward
compatibility or portability. It can be hard to anticipate precisely which features have been used
by a given application. If certain hardware features are not simulated, then any software using
those features will fail.

G  
  
Main article: Paravirtualization

In paravirtualization, the virtual machine does not necessarily simulate hardware, but instead (or
in addition offers a special API that can only be used by modifying[ 
] the "guest"
OS. This system call to the hypervisor is called a "hypercall" in TRANGO, en and KVM; it is
implemented via a DIAG ("diagnose" hardware instruction in IBM's CMS under VM[ 

]
(which was the origin of the term ›. Examples include IBM's LPARs[-], WinÿLin
·x, Sun's Logical Domains, z VM,[

] and TRANGO.

G  


  
Main article: Operating system-level virtualization
In operating system-level virtualization, a physical server is virtualized at the operating system
level, enabling multiple isolated and secure virtualized servers to run on a single physical server.
The "guest" OS environments share the same OS as the host system ± i.e. the same OS kernel is
used to implement the "guest" environments. Applications running in a given "guest"
environment view it as a stand-alone system. The pioneer implementation was FreeBSD jails;
other examples include Solaris Containers, OpenVZ, Linux-VServer, AI Workload Partitions,
Parallels Virtuozzo Containers, and iCore Virtual Accounts.