Hardware Assisted Virtualization:
Hard ware vendors are rapidly embracing virtualization and developingn ew features to simplify virtualization techniques. First generation enhancements include Intel Virtualization Technolog y (VT-x) and AMD ’s
AMD-V which both target privileged instructions with a new CPU execution
mode feature that allows the VMM to run in a new root mode below ring 0. As depicted in Figure , privileged and sensitiv e calls are set to automatically trap to the hypervisor ( Hyper-V and Networking ), removing the need for either binary translation or paravirtualization . The guest state is stored in Virtual Machine Control Structures (VT-x) or virtualization Virtual Machine Control Blocks (AMD-V).
Processors with Intel VT and AMD-V became available in 2006, so only newer system s contain these hardware assist features.
Memory Virtualization:
To run multiple virtual machines on a single system , another level of memory virtualization is required.In other words, one has to virtualize the MMU to sup port the guest OS. The guest OS continues to control the mapping of virtual addresses to the guest memory physical addresses, but the guest OS cannot have direct access to the actual machine memory.The VMM is responsible for mapping guest physical memory to the actual machine memory, and it uses shadow page tables to accelerate the mappings.
As depicted by the red line in Figure, the VMM uses TLB hardwa re to map the virtual memory directly to the machine memory to a void the two levels of translation on every access. When the guest OS changes the virtual memory to physical memory mapping, the VMM updates the shadow page
tables to enable a direct look up. MMU virtualization creates some overhead for all virtualization approaches, but this is the area where second generation hardware assisted virtualization will of fer efficiency gains.
Device and I/O Virtualization:
The final component required beyond CPU and memory virtualization is device an d I/ O virtualization .
This involves managing the routing of I/O requests between virtual devices and the shared physical hardware. Software based I/ O virtualization and management, in contrast to a direct pass-through to the hardware, enables a rich set of features and simplified management. With networking for example, virtual NICs and switches create virtual networks between virtual machines without the network traffic consuming bandwidth on the physical network, NIC teaming allows multiple physical NICS to appear as one and fail over transparently for virtual machines, and virtual machines can be seamlessly relocated to different systems using VMotion while keeping their existing MAC addresses. The key to effective I/O virtualization is to preserve these virtualization benefits while keeping the add ed CPU utilization to a minimum .
Bookmarks