Virtualization Technology: the definition in the Baidu Encyclopedia is this: virtualization is a generalized term, in computer terms, usually refers to the computing element on a virtual basis rather than the real basis of the operation. Virtualization technology can expand the capacity of the hardware, simplifying the software reconfiguration process. CPU Virtualization technology can simulate multi-CPU parallelism on a single CPU, allowing one platform to run multiple operating systems at the same time, and applications can be run independently of each other, thereby significantly increasing the productivity of the computer. This definition is quite complete.
(end) Full virtualization technology: Full Virtualization technology is also called hardware-assisted virtualization technology, the first virtualization technology used is full virtualization (virtualization) technology, It adds a software layer--hypervisor between the virtual machine (VM) and the hardware, or is called the hypervisor (VMM). Hypervisor can be divided into two major categories. The first is type 1, which is run directly above the physical hardware hypervisor. The second is Type 2, which runs on another operating system (running on top of the physical hardware). hypervisor An example of type 1 hypervisor is a kernel-based virtual machine (kvm--itself is an operating system-based hypervisor). Type 2 hypervisor includes QEMU and WINE.
Because the operating system running on the virtual machine will eventually share the hardware through hypervisor, the instructions issued by the virtual machine need to be hypervisor captured and processed. The instructions issued by each guest operating system (guest OS) are translated into a CPU-aware instruction format, where the client operating system is a running virtual machine, so the hypervisor workload is large and therefore consumes a certain amount of resources, so the performance is not as good as bare metal. But it runs faster than hardware simulations. The biggest advantage of full virtualization is that the operating system running on the virtual machine has not undergone any modification, the only limitation being that the operating system must be able to support the underlying hardware, but the current operating system generally supports the underlying hardware, so this limit becomes insignificant. The full virtualization technology is shown in Figure 1.
Figure 1: Full Virtualization Technology
semi-/quasi -virtualized technology: Semi-virtualized technology is the technology that appears later, semi-virtualization technology English is paravirtualization, also known as quasi-virtualization technology, is now more popular, it is on the basis of full virtualization, the customer operating system has been modified, Added a dedicated API, this API can be issued by the customer operating system to optimize the instructions, that does not require hypervisor cost a certain amount of resources for translation operations, so the workload of hypervisor is very small, so the overall performance has been greatly improved. The downside is that you want to modify the operating system that contains the API, but for some operating systems that do not contain the API (primarily Windows), this is not the way to go. The semi-/quasi-virtualized technology is shown in Figure 2.
Figure 2: Semi-/quasi-virtualization technology
With the gradual evolution of hardware virtualization technology, the performance of full virtualization running on Intel platforms has surpassed that of quasi-virtualized products, which is more pronounced on 64-bit operating systems. In addition, full virtualization does not require the inherent advantage of making any modifications to the client operating system. It can be predicted that hardware-based, fully virtualized products will be at the heart of future virtualization technologies.