-
在 x86 和 ARM 平台引入硬件虚拟化技术之后,指令模拟和半虚拟化的技术是否还有存在的意义?
指令模拟和半虚拟化技术仍有存在的意义
- 当物理主机ISA和虚拟机ISA不同时,不能使用硬件虚拟化技术,只能选择软件虚拟化技术
- 在使用硬件虚拟化技术之后,依然可以组合使用某些软件技术,提高性能
-
假设有 10 个虚拟机,每个虚拟机有 10 个 vCPU。总共几个 QEMU 进程?每个进程中有多少个线程(假设 KVM/QEMU 系统,忽略 QEMU 的 iothread)?
总共10个QEMU进程
每个进程中有10个线程
-
在不考虑TLB的情况下,若使用硬件虚拟化里的第二阶段地址翻译机制实现内存虚拟化,将GVA翻译到HPA需要经过多少次内存访问?为什么?
需要24次内存访问
因为Stage-1页表仅能通过HPA访问,而不能用GPA去访问。获取Stage-1每一级页表地址以及最终的主机物理地址时均需要经历Stage-2页表的翻译
-
请回答以下3个I/O虚拟化的问题。
-
在半虚拟化I/O中,Virtio Virtqueue 技术相对于模拟I/O方法的优势体现在哪里?
- 性能高,可以通过批处理的方式减少虚拟机下陷的次数
- 实现复杂度低,安全性高,同一类设备通常共享一组前后端驱动,不再需要为具体设备维护对应的驱动
-
使用SRIOV设备直通方法具有最佳的I/O性能,请问为什么目前云中依然大量使用了半虚拟化I/O技术?
因为SRIOV设备的I/O过程完全绕过了VMM,难以支持虚拟机热迁移以及虚拟机安全自省等功能
-
IOMMU 被广泛用于连接 I/O 设备和主内存,您能解释为什么 IOMMU 对于设备直通的 I/O 虚拟化技术至关重要吗?如果将物理设备直接分配给一个虚拟机,该设备的 IOMMU 应该翻译什么地址(从什么地址到什么地址)?
- 因为如果允许虚拟机直接使用主机物理地址与物理设备交互,可能会威胁到整个系统的内存安全
- 应该翻译GPA->HPA
-