当前位置:首页 > 虚拟化 > 正文

inter虚拟化技术和vt-d


一、intelvt-d技术是什么?

IntelVT-d技术是一种基于北桥芯片的硬件辅助虚拟化技术。通过在北桥提供内置DMA虚拟化和IRQ虚拟化硬件,IntelVT-d可以实现一种新的I/O虚拟化方法,可以提高虚拟环境中I/O的可靠性、灵活性和性能。


传统的IOMMU(I/O内存管理单元)提供了一种集中的方式来管理所有DMA——传统的内部DMA之外,还包括像AGPGART这样的特殊DMA、TPT、RDMAoverTCP/IP等。它隔离内存地址范围内的设备,因此很容易实现,但DMA隔离不容易实现,因此VT-D更新了设计的IOMMU架构。实现了多个DMA安全区域的存在,最终实现了DMA虚拟化。该技术也称为DMARmapping。

VT-D实现的中断重映射可以支持包括IOAPIC在内的所有I/O源以及所有中断类型(例如普通MSI和扩展MSI-X)。

VT-D做了很多改变,比如硬件缓冲、地址转换等。通过这些措施,VT-D北桥实现了芯片级I/O设备虚拟化。VT-D最终体现在虚拟化模型上的是增加了两种新的设备虚拟化方式:

直接I/O设备分配,虚拟机直接将物理I/O设备分配给虚拟机模型下。VMM,虚拟机内部的驱动程序,直接与硬件设备通信,只需要少量甚至不需要VMM管理。为了系统的稳健性,需要硬件虚拟化支持来隔离和保留硬件资源,仅供指定的虚拟机使用。该模型还消除了硬件中的多个I/O容器分区来服务多个虚拟机的需要;几乎完全消除了在VMM中运行驱动程序的需要。例如CPU,虽然CPU不是通常意义上的I/O设备——它实际上是分配给虚拟机的,但是CPU资源仍然在VMM的管理之下。


二、英特尔虚拟化技术是什么

1通常指的是在虚拟基础上而不是在真实基础上运行的数据元素。虚拟化技术可以扩展硬件的容量并简化软件的重新配置过程。CPU虚拟化技术可以用单个CPU模拟多个CPU并行,使一个平台可以同时运行多个操作系统,应用程序可以在独立的空间运行而不互相影响,从而大大提高计算机工作效率。

2虚拟化技术与多任务和超线程技术完全不同。多任务是指一个操作系统中多个程序同时并行执行。在虚拟化技术中,可以同时运行多个操作系统,每个操作系统都有多个程序运行在虚拟CPU或虚拟主机上;超线程技术只是用单CPU模拟双CPU,以平衡程序的性能。两个模拟的CPU只能一起工作。

3虚拟化技术也不同于现在的VMwareWorkstation等软件也可以实现虚拟效果。更广泛的操作系统。