Virtualization Types
Virtualization Types Overview
Types of Virtualization:
• Full Virtualization
• Para Virtualization
• Hardware-Assisted Virtualization
Full Virtualization
Full Virtualization is the complete simulation of underlying physical hardware for the
guest operating system (OS).
Working Principle
▪ Guest OS runs without any modification.
▪ Uses a hypervisor to manage multiple virtual machines (VMs).
▪ VMs act as if they are running on dedicated hardware.
Example Technologies
▪ VMware Workstation
▪ Microsoft Hyper-V
▪ Oracle VirtualBox
Benefits:
▪ No need for changes to the guest OS.
▪ Easy to implement and manage.
Limitations:
▪ Performance overhead due to full emulation.
Para Virtualization
In Para Virtualization the Guest OS is aware that it is running in a virtualized
environment and is modified to interact with the hypervisor.
Working Principle
▪ Hypervisor presents a simplified interface for guest OS communication.
▪ The guest OS is modified to make calls (hypercalls) directly to the hypervisor.
Example Technologies:
▪ Xen
▪ Oracle VM
Benefits:
▪ Improved performance compared to full virtualization.
▪ Reduces the need for complex emulation.
Limitations:
▪ Requires modification of the guest OS.
Hardware-Assisted Virtualization
Hardware-Assisted Virtualization uses specific hardware features in the CPU to improve
virtualization performance.
Working Principle
• Modern processors (Intel VT, AMD-V) provide hardware support for virtualization.
• Offloads complex virtualization tasks to the hardware, reducing hypervisor
overhead.
Example Technologies:
• VMware ESXi
• KVM (Kernel-based Virtual Machine)
Benefits:
• Better performance compared to both full and para virtualization.
• More secure and efficient virtualization.
Limitations:
• Requires compatible hardware (Intel VT-x, AMD-V).
Comparison
VIRTUALIZATION OF CPU,
MEMORY, AND I/O DEVICES
Introduction
● To support virtualization, processors such as the x86 employ a special running mode
and instructions, known as hardware-assisted virtualization.
● In this way, the VMM and guest OS run in different modes and all sensitive
instructions of the guest OS and its applications are trapped in the VMM.
● To save processor states, mode switching is completed by hardware.
● For the x86 architecture, Intel and AMD have proprietary technologies for
hardware-assisted virtualization.
Hardware Support for Virtualization
● Modern operating systems and processors permit multiple processes to run
simultaneously.
● If there is no protection mechanism in a processor, all instructions from different
processes will access the hardware directly and cause a system crash.
● Therefore, all processors have at least two modes, user mode and supervisor mode, to
ensure controlled access of critical hardware.
● Instructions running in supervisor mode are called privileged instructions. Other
instructions are unprivileged instructions.
● In a virtualized environment, it is more difficult to make OSes and applications run
correctly because there are more layers in the machine stack.
● Example 3.4 discusses Intel’s hardware support approach.
Hardware Support for Virtualization in the Intel x86 Processor
● For processor virtualization, Intel offers the VT-x or VT-i technique.
○ VT-x adds a privileged mode (VMX Root Mode) and some instructions to
processors. This enhancement traps all sensitive instructions in the VMM
automatically.
● For memory virtualization, Intel offers the EPT, which translates the virtual address
to the machine’s physical addresses to improve performance.
● For I/O virtualization, Intel implements VT-d and VT-c to support this.
Intel hardware support for virtualization of processor,
memory, and I/O devices