I'm trying to understand how all the components of the VM ecosystem fit together.
What's the difference between:
Which is controlled by
This comment says that libvirt is an abstraction ontop of QEMU, which is an abstraction ontop of KVM. However the official QEMU docs say that QEMU is a processor emulator, which sounds like the lowest level component.