• 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.