您查看的文章来源于http://www.oklinux.cn
处理器已经演变为针对虚拟环境提高性能,但 I/O 方面发生了什么变化呢?了解一种名为设备(或 PCI)透传(passthrough)的 I/O 性能增强技术,这种创新技术通过使用来自 Intel? (VT-d) 或 AMD (IOMMU) 的硬件支持改进 PCI 设备的性能。
平台虚拟化是在两个或多个操作系统之间共享一个平台,以便更有效地利用资源。但平台 并不只是意味着一个以上的处理器,它还包含组成平台的其他重要元素,比 1 所示。
图 1. 基于管理程序的设备模拟
第二个架构称为用户空间设备模拟(见图 2)。顾名思义,这种设备模拟是在用户空间中实现的,而不嵌入到管理程序中。QEMU(不仅提供设备模拟,还提供一个管理程序)提供设备模拟,用于大量独立管理程序, 2. 用户空间设备模拟
将设备模拟从管理程序推向用户空间有一些明显的优势,最大的优势涉及所谓的可信计算基础(trusted computing base,TCB)。一个系统的 TCB 是对该系统安全性很关键的所有安全组件的集合。有一点是显而易见的:如果系统被最小化,出现 bug 的可能性也就更小,因此系统也就越安全。这个原理也适用管理程序。管理程序的安全性很重要,因为它分隔多个独立的客户操作系统。管理程序中的代码越少(将设备模拟推到特权较低的用户空间中),将特权泄露给不可信用户的机率也就越少。
基于管理程序的设备模拟的另一个变体是准虚拟化(paravirtualized)驱动程序。在这个模型中,管理程序包含物理驱动程序,每个客户操作系统包含一个管理程序可以感知的驱动程序,这个驱动程序与管理程序驱动程序(称为准虚拟化 或 PV 驱动程序)配合工作。
无论设备模拟发生在管理程序内还是在一个客户虚拟机(VM)之上,模拟方法都是相似的。设备模拟能够模拟一个特定设备(如 Novell NE1000 网络适配器)或一个特定磁盘类型(如 Integrated Device Electronics [IDE])。物理硬盘可以完全不同 — 例如,尽管一个 IDE 驱动器被模拟为客户操作系统,物理硬件平台可以使用一个串口 ATA (SATA) 驱动器。这种技术很有用,因为 IDE 支持在许多操作系统中都很普遍,可以用作一个通用标准,而不是要求所有操作系统都支持更高级的驱动器类型。