Does the QEMU Architectural View Accurately Represent QEMU/KVM Relationships?

  • Thread starter cianfa72
  • Start date
In summary, the conversation is discussing the QEMU architectural view and its applicability to both "plain QEMU" and QEMU/KVM, which utilizes CPU virtualization support. The speaker questions the accuracy of the depicted diagram and mentions that this question has been posted on other forums as well.
  • #1
cianfa72
1,858
207
TL;DR Summary
About the QEMU/KVM virtualization architectural view
Hi,

I've a doubt about the QEMU architectural view as depicted in the following (and similar) pictures -- e.g. https://www.redhat.com/en/blog/introduction-virtio-networking-and-vhost-net.

2019-09-10-virtio-intro-fig1.jpg


To me this view makes sense for 'plane QEMU' only since it has not any homework acceleration (i.e. KVM). In fact, without any homework acceleration, QEMU employs TCG dynamic translation even if the emulated CPU (vCPU) is the same as the host physical CPU.

On the other hand QEMU/KVM leverages on CPU virtualization support (e.g. Intel VT-x) that provide root and non-root (guest) modes (e.g. VMX root vs VMX non-root mode). In that case CPU guest mode (VMX non-root) has got its own User and Kernel mode (Ring 3 vs Ring 0) so I believe that picture actually does not make sense -- since the Guest is not inside the the Host User mode.

What do you think about ?

p.s. same question is posted on other forum.
 
Technology news on Phys.org
  • #2
Any feedback about it ?
 
  • #3
These are complicated relationships which cannot be completely expressed in a diagram, even with pretty colours.

I think the diagram is fine, but if it is confusing you then just ignore it.
 

Related to Does the QEMU Architectural View Accurately Represent QEMU/KVM Relationships?

1. What is QEMU/KVM and how does it work?

QEMU (Quick Emulator) is an open-source virtualization software that allows for the emulation of a complete computer system, including its hardware components. KVM (Kernel-based Virtual Machine) is a Linux kernel module that enables QEMU to access the hardware resources of the host machine, providing a faster and more efficient virtualization solution.

2. What is the difference between QEMU and KVM?

QEMU is a software emulator, while KVM is a hypervisor. QEMU emulates the hardware components of a computer system, while KVM utilizes the virtualization capabilities of the host machine's CPU to create and manage virtual machines.

3. How does the architecture of QEMU/KVM work?

The QEMU/KVM architecture is a combination of user space and kernel space components. The user space component, QEMU, emulates the hardware components of the virtual machine. The kernel space component, KVM, provides the virtualization layer that allows QEMU to access the host machine's hardware resources.

4. What are the advantages of using QEMU/KVM for virtualization?

QEMU/KVM offers several advantages for virtualization, including efficient use of hardware resources, support for a wide range of operating systems, and the ability to run both fully virtualized and para-virtualized guests. It also has a robust set of features, including live migration and snapshotting.

5. How does QEMU/KVM compare to other virtualization solutions?

Compared to other virtualization solutions, QEMU/KVM offers high performance and efficient use of resources due to its use of the host machine's hardware virtualization capabilities. It also has a wide range of features and is frequently used in production environments. However, it may have a steeper learning curve compared to other virtualization solutions.

Back
Top