Hardware virtualization techniques and Advantages of Hardware-Assisted Virtualization
Categories: Cloud Computing
Hardware virtualization techniques and Advantages of Hardware-Assisted Virtualization
Hardware-assisted virtualization, the first virtual machine operating system (VM/370 in 1972), was introduced on the IBM System/370. In the latter 70's, Virtualization was forgotten, but the development of x86 servers has re-enlightened the interest in virtualizing driven for a server consolidation requirement. Virtualization allowed a single server to replace multiple underutilized dedicated servers.
The x86 architecture, however, did not meet the criteria of Goldberg and Popek for "classical virtualization." In order to compensate for these limitations: Virtualization of an x86 architecture was carried out by two methods: full virtualization or paravirtualization. The illusion of physical hardware is created to achieve the objective to independently manage the operating system from hardware, but to achieve some performance and complexity.
Intel and AMD introduced new technologies for virtualization, a number of new instructions, and – most importantly – a new level of privilege. The hypervisor is now present at "Ring -1" so that the guest operating system can operate at ring 0. Virtualization of hardware leverages virtualization functionality incorporated into the latest generation of Intel and AMD CPUs. These technologies, respectively called Intel VT and AMD-V, offer enhancements needed to run non - modified virtual machines without the overhead of the full CPU virtualization emulation. These new processors include an additional privilege mode, below ring 0, in which the hypervisor essentially can operate leaving ring 0 for unmodified guest operating systems.
The VMM can efficiently virtualize the entire X86 instruction with hardware-assisted virtualization using the classically-used hardware trap-and-emulate model, rather than software, by handling these sensitive instructions. CPU access can be accessible at Ring 1 and guest OSes by hypervisors that support this technology, the same way as they would when operating on a physical host. This makes it possible to virtualize guest OSes without any changes.
Advantages of Hardware-Assisted Virtualization
Hardware-assisted virtualization changes the operating system access. Operating systems of x86 have direct access to running system resources. VMM emulates the necessary hardware into the operating system with software virtualization. The operating system provides direct access to resources without an emulation or modification with hardwareassisted virtualization, and this improves overall performance.
This implies that OS kernels need not be tweaked and can run as is (as in par virtualization). The hypervisor does not have to take part in the inefficient binary translation of the sensitive instructions at the same time. Thus, it not only complies with the Popek and Goldberg criteria (of full virtualization), but also improves its efficiency, because the instructions are now trapped and emulated directly in the hardware.
Full virtualization
Full virtualization is a technique for the virtualization of a VME that simulates the underlying hardware completely. Any software that can run on physical hardware can be run in this type of environment in the VM, and any OS supported by the underlying hardware can be run with each VM. Users can simultaneously run several different guest OSes. The VM simulates sufficient hardware for unmodified Guest OS to run in isolation in full virtualization software. In a number of situations, this is particularly helpful.
Experimental new code, for example, can run in an OS development in a separate VM simultaneously with older versions. The Hypervisor delivers every VM, including a virtual BIOS, virtual devices and virtualized memory management, all services of the physical system. The Guest OS is completely unconnected with the virtualization layer from the underlying hardware.
Full virtualization is achieved through the use of binary and direct execution combinations. The physical CPU executes at native speed nonsensitive instructions with full Virtualization Hypervisors, translates the OS instruction and is cached for future use, and the instructions at user level are executed at native speed with no change. Full virtualization provides optimal isolation and security for VMs, making migration and portability easier as virtualized and native hardware are used by the same guest OS instance.