Qemu
Qemu is a simulator that Guest OS Simulation CPU and other hardware, Guest OS think that they are dealing directly with the hardware, is actually the same Qemu emulate the hardware that deals with it, Qemu Translate these instructions to real hardware.
since all the instructions are to be Qemu It's a poor performance . . 650) this.width=650; "title=" 1.png "src=" Http://s3.51cto.com/wyfs02/M00/6F/77/wKiom1WdDYyjiVZiAAECBtAEQ5E590.jpg " alt= "Wkiom1wddyyjivziaaecbtaeq5e590.jpg"/>
Kvm
KVMis the kernel module, using hardware-assisted virtualization technologyINTEL-VT,amd-vUseKVM,Guest OSof theCPUinstructions don't go through .Qemutranslation, direct operation, greatly improved the speed,KVMthrough/DEV/KVMexposed interface, the user state program can beIOCTLfunction to access this interface. See the following pseudo-code:
Open ("/DEV/KVM") IOCTL (KVM_CREATE_VM) IOCTL (KVM_CREATE_VCPU) for (;;) {IOCTL (kvm_run) switch (exit_reason) {case kvm_exit_io:case kvm_exit_hlt:}}
Qemu-kvm
Qemuwill beKVMintegrated in, throughIOCTLcalled/DEV/KVMinterface that will be relevantCPUpart of the instruction is done by the kernel module. KVMresponsible forCPUVirtualization of+memory virtualization, enabling theCPUand memory virtualization, butKVMYou cannot impersonate another device. QemuSimulationIODevice (network card, disk),KVMPlusQemuyou can then realize the true meaning of server virtualization. Because I used the top two things, so calledQEMU-KVM.
Qemu emulate other hardware, such as Network, Disk also affects the performance of these devices, resulting in Pass through semi-virtualized devices virtio_blk, Virtio_net to improve equipment performance.
650) this.width=650; "title=" 2.png "src=" Http://s3.51cto.com/wyfs02/M01/6F/77/wKiom1WdDc2CEwy6AAGPf4VzQao172.jpg " alt= "Wkiom1wddc2cewy6aagpf4vzqao172.jpg"/>
Libvirt
Libvirtis currently the most widely usedKVMthe tools for managing virtual machines andAPI. LIBVIRTDis aDaemonprocess, which can be used by localVirshcan also be called by a remoteVirshcalled,LIBVIRTDcalledQEMU-KVMoperate the virtual machine.
650) this.width=650; "title=" 3.png "src=" Http://s3.51cto.com/wyfs02/M02/6F/74/wKioL1WdD72RRy8mAAIuDm6sVAY591.jpg " alt= "Wkiol1wdd72rry8maaiudm6svay591.jpg"/>
This article is from "Gan nan has" blog, please be sure to keep this source http://changfei.blog.51cto.com/4848258/1672147
The relationship between the three Kvm-qemu-libvirt