美文网首页云计算数据中心与云计算程序媛&程序猿
硬件虚拟化较纯软件虚拟化的优势

硬件虚拟化较纯软件虚拟化的优势

作者: SophieSg | 来源:发表于2017-03-24 12:30 被阅读86次

    CPU硬件虚拟化

    传统处理器

    传统的处理器通过选择不同的运行(Ring 特权)模式,来选择指令集的范围,内存的寻址方式,中断发生方式等操作。

    硬件虚拟化处理器

    在原有的Ring特权等级的基础上,处理器的硬件虚拟化技术带来了一个新的运行模 式:Guest模式[1],来实现指令集的虚拟化。当切换到Guest模式时,处理器提供了先前完整的特权等级,让Guest操作系统可以不加修改的运行在物理的处理器上。Guest与Host模式的处理器上下文完全由硬件进行保存与切换。此时,虚拟机监视器(Virtual Machine Monitor)通过一个位于内存的数据结构(Intel称为VMCS, AMD称为VMCB)来控制Guest系统同Host系统的交互,以完成整个平台的虚拟化。

    IO虚拟化

    传统的IO操作

    传统的操作系统通过硬件MMU完成虚拟地址到物理地址的映射。

    虚拟化传统IO实现

    在虚拟化环境中,Guest的虚拟地址需要更多一层的转换,才能放到地址总线上:

    Guest虚拟地址 -> Guest物理地址 -> Host物理地址
                 ^               ^
                 |               |
                MMU1            MMU2
    

    其中MMU1可以由软件模拟(Shadow paging中的vTLB)或者硬件实现(Intel EPT、AMD NPT)。MMU2由硬件提供。

    IO虚拟化技术

    系统的IO虚拟化技术,通常是VMM捕捉Guest的IO请求,通过软件模拟的传统设备将其请求传递给物理设备。一些新的支持虚拟化技术的设备,通过硬件技术(如Intel VT-d),可以将其直接分配给Guest操作系统,避免软件开销。

    [1]X86处理器的生产厂商有自己的称谓,比如英特尔将Guest模式称为non-root operation,与之相对的是root operation,本文称为host模式。

    相关文章

      网友评论

        本文标题:硬件虚拟化较纯软件虚拟化的优势

        本文链接:https://www.haomeiwen.com/subject/vktfottx.html