您的位置: 网界网 > 周报全文 > 正文

[周报全文]实现x86处理器虚拟化的新方法

2006年12月13日 16:35:16 | 作者:佚名 | 来源:$page.getBroMedia() | 查看本文手机版

摘要:本机虚拟化是在x86架构的最新CPU中引入的硬件辅助功能来实现的新型x86虚拟化方法,它能够为用户带来性能提升和易于实现的好处,值得那些想进一步实现服务器虚拟化用户的考虑。

标签
虚拟化
处理器
 

本机虚拟化是在x86架构的最新CPU中引入的硬件辅助功能来实现的新型x86虚拟化方法,它能够为用户带来性能提升和易于实现的好处,值得那些想进一步实现服务器虚拟化用户的考虑。

34.jpg

服务器虚拟化是一种虚拟的处理器架构、使多个操作系统可以独立地运行在同一个硬件中的方法。提供这种功能的软件常常被称为虚拟机监测程序(VMM)或hypervisor

现在出现了一种虚拟化x86架构处理器的新方法,即所谓的本机(native)虚拟化。本机虚拟化利用来自x86架构的最新处理器中提供的硬件辅助功能来提供近本机的性能。

在这类处理器问世之前,x86架构没有满足一些虚拟化技术的基本要求,从而使为这类处理器实现VMM十分困难。这些要求包括:

■ 等价性:运行在虚拟机环境下的程序应当表现出与原始物理机器基本一致的行为。

■ 资源控制:虚拟机必须完全控制虚拟化的资源。

■ 效率:虚拟机不应当显著降低工作负载性能。

从历史上看,x86架构的虚拟化通过两种方式实现: 全虚拟化或准虚拟化。这两种方式都模拟物理硬件来达到操作系统独立于硬件的目标,但要付出一些性能和复杂性的代价。

作为一种虚拟化x86架构技术的半虚拟化主要被用于大学研究。研究项目利用这项技术运行可以得到源代码的操作系统(如LinuxFreeBSD)的修改版本。准虚拟化要求对操作系统进行重大的修改,因此不能支持已经部署的操作系统。所以,这种方法在商业环境中不可能得到认真的考虑。

目前使用的第一代VMM中采用了全虚拟化技术。它依靠复杂而脆弱的软件技术,通过二进制补丁捕获和在软件中模拟执行某些敏感的、不可虚拟化的指令。在使用这类技术时,关键指令在运行时被发现,并利用一个陷入到VMM中的陷阱来代替,并以软件方式来模拟。与运行在本机虚拟化架构上(如IBM System/370)的虚拟机相比,这类方法造成大量的性能开销。这给系统调用、中断虚拟化和频繁访问特权资源造成重大问题。因此,第一代VMM一直被用于非关键的和不影响性能的应用。

最近,x86架构芯片厂商推出了内置硬件辅助虚拟化支持的处理器。在这些新处理器功能的帮助下,x86架构现在达到了前面提到的虚拟化要求,从而使本机虚拟化变为现实。

利用本机虚拟化(+本站微信networkworldweixin),VMM仿真整个硬件,使用于相同类型的CPU的未经修改的操作系统可在虚拟机容器内执行。借助本机虚拟化,VMM可以在硬件而不是软件中利用古典的陷阱与仿真模型,处理敏感的、不可虚拟化的指令,高效率地实现x86指令集的虚拟化。它还利用性能分析,有选择地将加速技术用于内存和I/O操作。本机虚拟化为用户带来了性能和易于实现的显著好处,值得那些计划进一步实现服务器虚拟化的用户考虑。(美国《Network World》供本报专稿)

[责任编辑:程永来 cheng_yonglai@cnw.com.cn]