You are on page 1of 21

Virtualization

How Does Hardware Virtualization Work


• In the hardware virtualization method, the hardware acts as the host
and software is the guest. The hypervisor is used to create a virtual
environment and allows a different OS to run on a single computer
effectively. The sole purpose behind the creation of such a mechanism
is to employ multiple smaller servers on a single large server.
• Reduce Cost
• Enhance efficiency of server
• Hardware virtualization provides hardware support to guest OS,
facilitating friction-free hosting. The virtual machine has no
interaction with the host operating system.
How Does Hardware Virtualization Work
• For example, rather than buying 10 separate servers to host 10 physical applications, a single
virtualized server could potentially host those same 10 applications installed on 10 VMs on the
same system. This improved hardware utilization is a major benefit of virtualization and supports
enormous potential for system consolidation, reducing the number of servers and power use in
enterprise data centers.
Hardware virtualization vendors and
products
• Vendors and products for hardware virtualization include VMware ESXi, Microsoft Hyper-V and Xen.
• VMware ESXi: A hypervisor designed for hardware virtualization. ESXi installs directly onto a server and
has direct control over a machine's underlying resources. ESXi will run without an OS and includes its
own kernel. ESXi is the compact, and now preferred, version of VMware's ESX. ESXi is smaller and
doesn't contain the ESX service console.
• Microsoft Hyper-V: A hypervisor designed for hardware virtualization on an x86 architecture. Hyper-V
isolates VMs in partitions, where each guest OS will execute a partition. Partitions operate in the
manner of parent and child partitions. Parent partitions have direct access to the hardware, while child
partitions have a virtual view of system resources. Parent partitions create child partitions using a
hypercall API. Hyper-V is available for 64-bit versions of Windows 8 Professional, Enterprise, Education
and later.
• Xen: An open-source hypervisor. Xen is included in the Linux kernel and is managed by the Linux
Foundation. However, Xen is only supported by a small amount of Linux distributions, such as SUSE
Linux Enterprise Server. The software supports full virtualization, paravirtualization and hardware-
assisted virtualization. XenServer is another open-source Xen product to deploy, host and manage VMs.
OS-Based Virtualization

• Unlike hardware-based virtualization, OS virtualization is done over


the top of the operating system. This implies that the software
installed on the OS virtualizes the same, making it the host.
• Operating system-based virtualization is the installation of
virtualization software in a pre-existing operating system, which is
called the host operating system .For example, a user whose
workstation has a specific version of Windows installed decides it
wants to generate virtual machines.
How Does OS-Based Virtualization Work?
• In this kind of virtualization, the virtualization software is installed
over the OS, and further use creates several other VMs. Here, direct
access is given to the user to use any of the available virtual
machines.  
Types of Hardware Virtualization
• Full virtualization is the first generation of software solutions for server virtualization. It was
developed by IBM in 1966. It operates by combining binary translation and direct
compilation, where the guest operating system is completely separated from the basic
hardware and virtualization layer. As a result, whatever the virtual machines produce, the
underlining hardware is rewritten by a dynamic translator. It involves a lack of expertise in
virtualization on the guest OS end, and change is inevitable.
• ESXi, VMWare, and Microsoft virtual servers are the technologies that provide full
virtualization capabilities. When an OS instruction is created, the hypervisor immediately
translates it during run-time and stores the result for future reference. At the same time, the
user-level instructions are run without changes at native speed.
• Although the primary goal of storing the translated instructions during binary translation is to
improve performance, it may raise the cost of memory usage. Binary translation is another
drawback of full virtualization because it consumes a lot of time and may get a huge
performance overhead. I/O intensive apps are complicated to use in full virtualization.
x86 Hardware Virtualization
• The x86 architecture offers four levels of privilege known as Ring 0, 1, 2 and 3 to operating
systems and applications to manage access to the computer hardware. While user level
applications typically run in Ring 3, the operating system needs to have direct access to the
memory and hardware and must execute its privileged instructions in Ring 0.
• x86 privilege level architecture without virtualization
Full Virtualization using Binary Translation
• This approach relies on binary translation to trap (into the VMM) and
to virtualize certain sensitive and non-virtualizable instructions with
new sequences of instructions that have the intended effect on the
virtual hardware. Meanwhile, user level code is directly executed on
the processor for high performance virtualization.
Full virtualization

In full virtualization, guest OS is completely isolated by the virtual


machine from the virtualization layer and hardware.
Para Virtualization
• The interaction of the guest operating system with the hypervisor to improve
performance and productivity is known as para virtualization. Unlike full
virtualization, para virtualization does not achieve full isolation; instead, the approach
implements partial isolation. It also alters the operating system kernel to use
hypercalls rather than non-virtualizable instructions. The goal of hypercalls is to
communicate with the virtualization layer hypervisor directly.
• The hypervisor performs different functions in para virtualization, such as the layout of
the hyper calls interface for other critical kernel services like memory management,
timekeeping, and interrupt handling. The main benefit of para virtualization is that it
may significantly minimize virtualization overhead.
• In computing, paravirtualization or para-virtualization is a virtualization technique that
presents a software interface to the virtual machines which is similar, yet not identical,
to the underlying hardware–software interface
• An example of partial virtualization is address space virtualization
used in time-sharing systems; this allows multiple applications and
users to run concurrently in a separate memory space, but they still
share the same hardware resources (disk, processor, and network).
Application Virtualization
• Application virtualization helps a user to have remote access to an
application from a server. The server stores all personal information
and other characteristics of the application but can still run on a local
workstation through the internet. An example of this would be a user
who needs to run two different versions of the same software.
Technologies that use application virtualization are hosted applications
and packaged applications. 
Network Virtualization
• The ability to run multiple virtual networks with each having a
separate control and data plan. It co-exists together on top of one
physical network. It can be managed by individual parties that are
potentially confidential to each other. Network virtualization provides
a facility to create and provision virtual networks, logical switches,
routers, firewalls, load balancers, Virtual Private Networks (VPN), and
workload security within days or even weeks. 
Desktop Virtualization
• Desktop virtualization allows the users’ OS to be remotely stored on a
server in the data center. It allows the user to access their desktop
virtually, from any location by a different machine. Users who want
specific operating systems other than Windows Server will need to
have a virtual desktop. The main benefits of desktop virtualization are
user mobility, portability, and easy management of software
installation, updates, and patches. 
Storage Virtualization
• Storage virtualization is an array of servers that are managed by a
virtual storage system. The servers aren’t aware of exactly where their
data is stored and instead function more like worker bees in a hive. It
makes managing storage from multiple sources be managed and
utilized as a single repository. storage virtualization software
maintains smooth operations, consistent performance, and a
continuous suite of advanced functions despite changes, breaks down,
and differences in the underlying equipment.
Server Virtualization
• This is a kind of virtualization in which the masking of server
resources takes place. Here, the central server (physical server) is
divided into multiple different virtual servers by changing the identity
number, and processors. So, each system can operate its operating
systems in an isolated manner. Where each sub-server knows the
identity of the central server. It causes an increase in performance and
reduces the operating cost by the deployment of main server resources
into a sub-server resource. It’s beneficial in virtual migration, reducing
energy consumption, reducing infrastructural costs, etc.
Data Virtualization:
• This is the kind of virtualization in which the data is collected from
various sources and managed at a single place without knowing more
about the technical information like how data is collected, stored &
formatted then arranged that data logically so that its virtual view can
be accessed by its interested people and stakeholders, and users
through the various cloud services remotely. Many big giant
companies are providing their services like Oracle, IBM, At scale,
Cdata, etc.

You might also like