Skip to content

Latest commit

 

History

History
41 lines (23 loc) · 2.12 KB

虚拟化作业2.md

File metadata and controls

41 lines (23 loc) · 2.12 KB

虚拟化作业2

  • 在 x86 和 ARM 平台引入硬件虚拟化技术之后,指令模拟和半虚拟化的技术是否还有存在的意义?

    指令模拟和半虚拟化技术仍有存在的意义

    1. 当物理主机ISA和虚拟机ISA不同时,不能使用硬件虚拟化技术,只能选择软件虚拟化技术
    2. 在使用硬件虚拟化技术之后,依然可以组合使用某些软件技术,提高性能
  • 假设有 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虚拟化的问题。

    1. 在半虚拟化I/O中,Virtio Virtqueue 技术相对于模拟I/O方法的优势体现在哪里?

      1. 性能高,可以通过批处理的方式减少虚拟机下陷的次数
      2. 实现复杂度低,安全性高,同一类设备通常共享一组前后端驱动,不再需要为具体设备维护对应的驱动
    2. 使用SRIOV设备直通方法具有最佳的I/O性能,请问为什么目前云中依然大量使用了半虚拟化I/O技术?

      因为SRIOV设备的I/O过程完全绕过了VMM,难以支持虚拟机热迁移以及虚拟机安全自省等功能

    3. IOMMU 被广泛用于连接 I/O 设备和主内存,您能解释为什么 IOMMU 对于设备直通的 I/O 虚拟化技术至关重要吗?如果将物理设备直接分配给一个虚拟机,该设备的 IOMMU 应该翻译什么地址(从什么地址到什么地址)?

      1. 因为如果允许虚拟机直接使用主机物理地址与物理设备交互,可能会威胁到整个系统的内存安全
      2. 应该翻译GPA->HPA