如果有硬件辅助虚拟化,那么使用半虚拟化的目的是什么?
我正在研究 QEMU/KVM 和 Firecracker/KVM。据我所知,Firecracker 和 QEMU 都与 KVM 通信,最终通过将 CPU 模式从客户机更改为主机(反之亦然)来实现硬件辅助虚拟化。 在CPU的客户模式下,客户甚至可以直接执行其特权指令,那么我们为什么还需要半虚拟化呢? 在 Firecracker 中,仅模拟了 5 种设备,例如 virtio-net, virtio 块, virtio-vsock等等。 即使是在这种极简设计中,我们也必须安装半虚拟化驱动程序。难道我们不能只依赖硬件辅助虚拟化吗? ...