Estou fazendo uma pesquisa sobre QEMU/KVM e Firecracker/KVM. Pelo que entendi, tanto o Firecracker quanto o QEMU se comunicam com o KVM para eventualmente beneficiar a virtualização assistida por hardware, alterando o modo da CPU para convidado para host e vice-versa.
No modo convidado da CPU, o convidado pode executar diretamente até mesmo suas instruções privilegiadas, então por que também precisamos de paravirtualização?
No Firecracker, apenas 5 dispositivos emulados, como
- virtio-net,
- bloco virtio,
- virtio-vsock e assim por diante.
Mesmo neste design minimalista, temos que colocar drivers de paravirtualização. Não podemos depender apenas da virtualização assistida por hardware?