Virtualization refers to the methods,
which allow a computer’s resources to split. The term Virtualization is
used differently in many different applications. There are many concepts
and technologies in the field of hardware and software that use this
term Virtualization.
The primary goal of Virtualization is to
provide the user with an abstraction layer from the actual hardware
isolated – computing power and storage space. A logical layer is
introduced between the user and resource in order to hide the physical
characteristics of the hardware. It is each user is shown that he is the
sole user of a resource is / are joined to several (heterogeneous)
hardware resources into a homogeneous environment. The user of the
invisible, transparent management of the resource is usually the job of
the operating system.
Software Virtualization
Virtualization software can be used for
several purposes, e g to simulate an operating system or just an
application. Classification of approaches to virtualization to create
virtual environments in the overall context of virtualization. More on
Virtualization Software.
Operating System OS virtualization using container
Approach of ‘OS containers’ for the
creation of virtual environments : With virtualization run at the OS
level, virtually within a closed container provided, no additional
operating system is used, which means that it is not possible another OS
to run as the host system. The OS containers represent a subset of the
host operating system. The advantage of this approach is the good
integration of the containers in the guest operating system. The
disadvantage of this approach lies in the containers. From the
containers, no other driver is loaded and the kernel is loaded. When the
OS virtualization contains only one host kernel there is a special
user-mode kernel under the control of the host kernel.
System Virtualization using Virtual Machine Monitor (VMM)
Approach of a virtual machine monitor
(VMM) to create virtual operating environments: With virtualization
using a virtual machine monitor (hypervisor), the waiting native (= real
physically available) system is distributed intelligently. This can be
done by hardware emulation, hardware virtualization or par
virtualization. Each guest systems in each case has its own complete
computer with all the hardware components (processor, disk drives,
memory, etc.) made up a system. The advantage is that in the operating
systems themselves (almost) no changes are necessary and the guest
operating systems all have their own kernel, which entails a degree of
flexibility.
Examples: VMware Workstation, Microsoft Virtual PC, Virtual Box, Parallels Workstation.
Hardware emulation (misleadingly called full virtualization)
The virtual machine simulates the
complete hardware and allows an unmodified operating system that is
designed for a different CPU, operation.
Examples: Bochs (in this simulation instead of emulation), PPC version of Microsoft Virtual PC, QEMU.
Hardware virtualization (native virtualization, full virtualization)
The virtual machine guest operating
system provides the only parts of the physical hardware in the form of
virtual hardware. This is sufficient, however, to run an unmodified
operating system on it in an isolated environment. The host system must
be on the same CPU type to be designed.
Examples: VMware ,
x86-based version of Microsoft Virtual PC , KVM , Xen 3.0 on processors
with hardware virtualization technology Intel VT-x or AMD Pacifica.
Paravirtualization
In paravirtualization, while an
additional operating system is started virtually as new, but no hardware
virtualized or emulated, but the virtually started operating systems
use an abstract management layer in order to shared resources (network
connections, disk space, User or used in) access. The operating system
needs to be able to be ported to run on the virtual machine (VM), which
can reject the owners of proprietary operating systems for strategic
reasons. The port, however, simplifies the structure of the VM and
allows their virtual machines to improve performance. VMware or XEN also
used the VMI interface that acts as a “mouthpiece” between the
virtualization layer and host operating system.
Examples: Red Hat
Fedora 5 with Xen 3.0 , SUSE Linux Enterprise Server with Xen or VMware
ESX 3.5 Update 1 as, Citrix XenServer , KVM , PikeOS real-time operating
system for embedded systems.
Application Virtualization
Application virtualization (application
virtualization) is the local performing desktop and server applications,
without requiring them to be installed. The virtualized application to a
virtual environment is generated that contains all the registry
entries, files and other components needed to run the program. This
virtual environment acts as a buffer layer between the application and
the operating system and avoids conflicts with other applications or the
operating system.
Examples: Microsoft
Application Virtualization (formerly SoftGrid) , Citrix Application
Streaming , VMware ThinApp , Novell ZENworks Application Virtualization,
Altiris SVS, Thinstall VS , Sandboxie , Evalaze, Cameyo, Ceedo.
In case of Hardware Virtualization,
either the whole system (partitioning with LPAR , Domaining) or
individual components such as CPU ( Intel’s Vanderpool or AMD’s Pacifica
) are virtualized.
Processor Virtualization
When the system or operating system
virtualization, the virtual machine monitor received commands from host
systems (virtual machines) to be executed on the native hardware. Before
the introduction of processor virtualization had to be modified in
certain (possibly safety-critical) instructions, which were from the
host system via the Virtual Machine Monitor sent to the hardware.
Through virtualization, the processor
from AMD and Intel can usecommands without modifying the virtual machine
monitor to be sent directly to the processor. The processor takes care
of itself for the distinction between the guest system processes and VMM
processes. By eliminating the modifications of the VMM, a higher
performance is achieved.