Implementation and Advantages of Hardware-Assisted Virtualization

The most obvious implementation for now is the current largest processor manufacturers, Intel and AMD. Here is the implementation of virtualization is done by them.

 

AMD-V

Or it could be called AMD-Virtualization Technology (AMD-VT) with the aim of get over the duties usually performed by the VMM / hypervisor in the software emulation environments. Also, it will simplify the tasks in the extension instruction set virtualization the Athlon 64 and Opteron processors. AMD-VT was announced in 2004, under the code name Pacifica. AMD has released the specifications in detail in mid-2005.

 

Intel VT-x

Intel Virtualization Technology (VT) is a hardware instruction set. Which was originally intended to be implemented on the server and client processor platform that provides software-based virtualization solutions.

Intel VT allows a platform to precede several OS and applications in separate partitions. Thus enabling a computer system is headed for purpose as compound virtual systems.

 

Advantages of Hardware-Assisted Virtualization

Hardware-assisted virtualization changes the access to the operating system itself. For the x86 operating system is designed to have straight admission to the resource system in order to function. With software virtualization will be reachable to the OS. While the hardware-assisted virtualization, the operating system will have direct access to the resource, without the need for emulation or OS modifications.

 

IOMMU

IOMMU is an acronym for input/output memory management unit. He is a memory management unit that connects the DMA-capable I/O bus to main memory. Just like the standard MMU, which translate virtual memory addresses to physical memory addresses, while the IOMMU on duty to address I/O to physical memory addresses or address mapping device. Some units also have memory protection against devices that are not working properly. An example of the IOMMU, such as the Graphics Address Remapping Table (GART) is applied by the VGA card is AGP or PCI Express.

AMD’s IOMMU technology itself issued a specification in the HyperTransport architecture. While the present spec as Virtualization Technology for Directed I/O. Implementation is still around to the server computer.

Kinds of Virtualization

Here, we’ll explain a little about some of the methods that implement virtualization on x86 architecture.

Hypervisor Mode

X86 processor family has several levels of protection which is also known as the Ring. This is where the program code is executed. Ring-0 has the highest privilege level, and in the ring is usually the operating system kernel is located. The code that runs in Ring-0 can be said to be running in the system environment, the kernel mode or supervisor mode. For codes other programs such as applications that run inside the operating system, working in the ring that has a smaller priority, usually in the Ring-3.

With this fact, emerged the so-called hypervisor virtualization. Where a program known as a hypervisor (also commonly known as type 1 Virtual Machine Monitor, or VMM) running directly on the hardware level of the host system in Ring-0. The task of the hypervisor is to handle the resource and the allocation of memory for the virtual machine (guest OS), apart from providing high-level interface for administration and monitoring tools.

Clearly, with the hypervisor occupies the Ring-0 from the CPU / processor, then the kernel of the guest OS should run on any CPU in the ring that has a lower priority. Unfortunately, almost all of the operating system kernels are designed explicitly to run in Ring-0. This is because the simple reason that they need to perform tasks that usually exists only in the Ring-O.

Paravirtualization

In the paravirtualization, the guest kernel of the operating system can be modified specifically to run on the hypervisor. It is usually associated with replacing all the important operations (privileges) that will run in Ring-0 from the CPU, by way of making calls to the hypervisor (called hypercall). Consequently, the hypervisor will perform the operation directly to the hardware that to replace the guest OS kernel.

Usually, this is only limited to the open source operating systems like Linux, which can easily be modified freely, or for modifications to a proprietary OS which already allowed the copyright holder, to be compatible with a particular hypervisor. The advantages of OS modification is the ability to direct communication with a hypervisor guest OS, which leads to higher performance levels than other virtualization approaches.

Full Virtualization

Virtualization enables support for the guest OS is not modified, refer to the OS kernel is not tampered with in order to run in the hypervisor. In other words, he can still have access as well as the hypervisor that runs in Ring-0 from the CPU.

In this scenario, the hypervisor will emulate the CPU to run the guest OS kernel is not modified. Unfortunately, this emulation process requires both time and system resources overall, which leads to performance that is not too good compared with paravirtualization model.

Hardware Virtualization

This method implements tours virtualization directly into the processor. For now, be dominated by a processor made by Intel and AMD. For AMD, it refers to the implementation of virtualization into the processor with the name of AMD-V. For Intel is named as Intel VT. Virtualization technologies will provide the necessary extension to run the guest OS (virtual machine) is not modified, without the need for emulation of the CPU/processor.

More simply, the processors with hardware virtualization features will provide additional privileged mode on the Ring-0, where the hypervisor would run and make the Ring-0 is available for use by the guest OS virtual machine that is not modified.

History of Virtualization

Hardware assisted virtualization first introduced in 1972, with the introduction of IBM System/370 computers. This computer is for juxtaposed with VM/370 operating system, which is the first virtual machine operating system that exists. But in the late 1970s, the development of virtualization decline, due to the discovery of the mini-computer timesharing resource that offers a host to a variety of computer systems more efficient, and also a class of microcomputers (now called PC) that evolve into commodity items.

Development of its own x86 servers, restore interest in virtualization. This is the main cause of the consolidation of computer servers. Virtualization allows a server to replace a lot of computer servers, which sometimes has inefficient resource utilization.

However, this is not without constraints due to the implementation of VMM on x86 architecture can not meet Propek and Goldberg virtualization requirements, namely equivalence, resource control, and efficiency. One of the more specific limitations is the inability to lock / disallow (traps) to some instructions that have the privilege (privilege).

To compensate for the limitations of this architecture, virtualization in the x86 architecture using two methods, namely full virtualization and paravirtualization. Both are aimed at creating the illusion of multiple physical computer hardware from a physical computer, in order to avoid the clutches of the operating system directly on the hardware. Only, there remains reciprocity in terms of performance, and complexity.

With hardware-assisted virtualization, the VMM will be able to efficiently build the entire x86 instruction set is virtual, with the handle using trap-and-emulate model in hardware. Where it will differ much from those based software. Especially in terms of better performance levels.

 

Hardware-Assisted Virtualization

Run many operating systems on a single computer that can be directly accessed simultaneously (virtualization), became a most efficient way to suppress the use of power, hardware management, and also its maintenance. Now, we will slightly peeling things associated with hardware-assisted virtualization.

Virtualization solution are allowing you to run multiple virtual machines (a separate computer platform), in one physical computer. System virtualization is a technology commonly used to consolidate computer systems, workload, and operating environment by using only one physical system to create many virtual systems. Some market leader in virtualization system today, in between VMware for Windows and Linux, Microsoft Virtual Server, and the open source Xen Hypervisor. Virtualization system itself is a software-based virtualization platform. At the core of a system virtualization is another technology called Virtual Machine Monitor (VMM). VMM is providing overall management process for the computer resource can be accessed by each virtual machine (VM).

In simple, the VMM can be analogous to the code which is directly in the firmware, which is managing multiple operating systems or multiple processes running on the operating system, the same within a single computer system. Its main functions for the management processor, memory, and other resource-allocating resources towards what is needed each operating system. VMM can do this by way of emulation, namely by dividing a physical computer or server, and allows multiple operating systems to operate safely within the same CPU. It will also improve the efficiency of resource usage of CPU, with no resource is wasted.

More simply, in modern virtualization system, a software layer called a virtual machine manager (VMM) or hypervisor runs directly into the processor. VMM will create multiple virtual machines, where in the virtual machine is loaded in a standard operating system without modifications such as Linux, Solaris, or Windows. Each virtual machine thinks that they are running on a physical computer directly, and have access to the computer to be used exclusively for each of the virtual machine.