Some concepts of virtualization technology

Source: Internet
Author: User

---restore content starts---

1 The essence of virtualization technology is the same: partitioning the underlying resources and providing a specific and diverse execution environment to the upper layer.

Virtualization System Classification:

A) instruction-level virtualization

Instruction-level virtualization is also known as instruction set schema-level virtualization (ISA virtualization). It uses a purely software approach to simulate a different set of instructions than the actual running application (or operating system), and the virtual machine constructed in this way is generally called an emulator. The simulator translates all instructions issued by the client into a local instruction set and executes on real hardware.

b) Hardware-level virtualization

Hardware abstraction layer virtualization is actually very similar to instruction set schema-level virtualization, except that this type of virtualization is a special case: the customer execution environment and host have the same instruction set, and make full use of this feature, so that the majority of customer instructions on the host directly to execute, This greatly improves the speed of execution.

In order for this virtualization technology to work correctly, the constructed virtual machine must process some of these privileged instructions, produce a trap when executed, and pass it on to the lower VMM execution. This is because the unmodified operating system running in the virtual machine takes advantage of the privileged instructions to get CPU and memory resources. When a privileged instruction executes, a trap is generated, and the instruction is sent immediately to VMM so that VMM has full control over the virtual machine and maintains isolation between each virtual machine. The VMM then executes the directive in the processor and returns the impersonation structure and privileged instructions to the virtual machine.

Introduction to 23 Virtualization technologies

Cpu:

1) Full Virtualization

Under full virtualization, VMM can provide complete hardware support services for each virtual machine, including virtual BIOS, virtual devices, and virtual memory management, to virtual machines in exactly the same hardware environment as real hardware. This process does not require hardware or operating system assistance, so there is no need to modify the guest OS kernel, and the guest OS is completely unaware of whether or not virtualization has occurred.

2) Semi-virtualized

Under Para-virtualization, VMM requires the assistance of the operating system to complete the virtualization of x86 sensitive instructions. Therefore, the kernel of the guest OS needs to be modified so that the operating system can replace the defective instructions on its own. Para-virtualization can also become an operating system to assist in virtualizing the OS. In this case, the Guest OS is aware that it is running in the virtual machine.

3) Hardware Virtualization

Hardware virtualization is also known as hardware-assisted virtualization, which means that VMM requires hardware assistance to complete virtual hardware resources. Hardware virtualization begins with the INTEL-VT and AMD-V Technologies presented separately by CPU vendors Intel and AMD, with the basic idea of introducing new instructions and processor operating modes that enable the VMM and guest OS to run in different modes. The Guest OS operates only in controlled mode and is switched by hardware support mode when it needs to be monitored and emulated by VMM.

Memory Virtualization:

1) MMU Semi-virtualized

2) Shadow page table

I/O device virtualization

In full virtualization, semi-virtualized, and hardware virtualization, I/O device virtualization varies, at the core of where I/O devices are natively driven and how VMM handles I/O devices.

1) Full Virtualization

Under full virtualization, native drivers for I/O devices are stored in the guest OS because there is no need to modify the guest OS kernel, but the way that VMM processes devices varies depending on the location of VMM. For example, VMM uses an independent monitoring mode, in which VMM runs directly on physical hardware and directly operates hardware devices, while the guest OS sees a unified set of virtual I/O devices. Each I/O operation of the Guest OS on these virtual devices is caught in VMM, the I/O directives are parsed by VMM, mapped to the actual physical device, and then directly controlled by the hardware, and VMM is running on a traditional operating system, so VMM does not have full control over the hardware resources. Therefore, virtual I/O devices are often used in software simulations. The I/O operations of the Guest OS are captured by VMM and forwarded to a user process of the host operating system, which is used by the host operating system to simulate the behavior of the device.

The maximum cost of the analog I/O virtualization approach is in processor mode switching, including switching from guest OS to VMM, and switching from the kernel-state VMM to the user-state I/O emulation process. Therefore, the primary strategy for optimizing I/O performance for I/O devices that use the analog approach for virtualization is to minimize mode switching.

2) Semi-virtualized

Under Para-virtualization, modify the guest OS kernel to remove the native device driver from the guest OS and place it in a VMM-authorized device virtual machine, and the guest OS's I/O requests from the remaining virtual machines are handled by the device virtual machine. Within each guest OS, the system installs a special driver (a semi-virtualized driver) for each virtual I/O device, which is responsible for the delivery of I/O requests. After the device virtual machine has been authorized by VMM, it resolves the received I/O request and maps it to the actual physical device, and finally gives it the native device driver program control hardware completion.

---restore content ends---

Some concepts of virtualization technology

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.