Hardware Assisted Virtualization is a policy virtualization method which enables the user an easy access of full virtualization from hardware capabilities, especially from host processors.
The Hardware Assisted Virtualization was initially implemented with the IBM System/370. In 1996, the Hardware Assisted Virtualization was offered as an additional feature in x86 processors.
The Hardware Assisted Virtualization was originally introduced in 1972 with the IBM System/370 and used as an accompanying machine for the VM/370, the earliest virtual operating system. During the late 1970s, virtualization disappeared after the birth of minicomputers that permitted easy and fast timesharing.
The production of x86 servers aroused the interest of people in virtualization. Primary drivers were seen as the best candidates for server consolidation, because virtualization gave way for a single server to be used as substitute for various underutilized servers. But the basic framework of the x86 systems failed to meet the standards required by Goldberg and Popek virtualization to attain a “classical virtualization.”
This scenario has made it even harder for virtualization proponents to develop a virtual machine monitor for these types of processors. Several limitations were the processors’ inability to trap and comprehend vital instructions.
To balance several architectural limitations, x86 virtualization was done through the utilization of two methods: paravirtualization and full virtualization.
But with the hardware assisted virtualization, VMM can effectively undergo virtualization using an x86 instruction set, through handling and using sensitive instructions and classic trap-and-emulate approaches, as opposed to using ordinary and typical software. Moreover, it reduces the overhead maintenance of paravirtualization and limits the amount of changes required in the accompanying operating system.
Although its implementation has created wonderful results, it also has some drawbacks. Hardware assisted virtualization needs an explicit support from the host CPU, which is usually unavailable on almost all x86 or x86-64 processors. A complete and effective hardware assisted virtualization method requires different various virtual memory traps, and this consequently limits the efficiency of server consolidation.