x86硬件辅助虚拟化技术解析 HJCBUG 《微型计算机》 2010年4月下期 2010-05-13 在计算机领域,虚拟化技术从最初概念的提出到现在已经走过了几十个年头。虚拟化技术在很多领域都已经被广泛运用,但我们最常用的x 86平台却迟迟没有提供硬件级虚拟化支持。近几年来 x 86平台硬件性能大幅提高,硬件资源浪费的现象越来越严重。而虚拟化技术可以在一台计算机上运行多个独立的虚拟操作系统,维护成本和其它非技术成本会有相当程度的降低。随着英特尔和 AMD 的硬件辅助虚拟化技术的成熟,虚拟化技术成了近来 IT 界的热点话题。然而,大家对于虚拟化的认识大多还停留在字面理解上,什么是虚拟化?x 86硬件辅助虚拟化(Intel VT 和 AMD-V)又是怎么一回事呢?希望本文能够为大家解开谜团。 2005年英特尔发布了第一款支持虚拟化技术的处理器,其竞争对手 AMD 也在2006年紧接着将虚拟化技术应用到处理器产品上。随着两大核心平台厂商虚拟化技术的逐渐成熟并获得周边虚拟化软件厂家的支持,硬件辅助虚拟化正以不可阻挡之势来到众人面前,越来越多的桌面 CPU 和芯片组开始支持虚拟化技术,让这个以前主要应用在服务器和大型机领域的技术渐渐走入寻常百姓家。从表格中大家就能够看出,硬件辅助虚拟化技术可以说囊括了计算机体系架构中最重要的几个方面,而且还在一直发展当中。到现在为止,两家的CPU 虚拟化技术走过了四五年时间已经慢慢成熟,内存和 I/O 虚拟化也都有了成熟的规范,可以说已经进入了虚拟化2.0的时代。 英特尔/AMD 硬件辅助虚拟化技术对比 虚拟化起源于对分时系统的需求,在1959年的国际信息处理大会上,一篇名为《大型高速计算机中的时间共享》被认为是虚拟化技术的最早论述。抽象地说,虚拟化是资源的逻辑表示,它不会受物理限制的约束。在计算机科学方面的虚拟化定义有很多种,其中有一种定义笔者认为相对更贴切和便于理解:“虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计算机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方式来表示它们。换句话说,它为数据、计算能力、存储资源以及其它资源提供了一个逻辑视图,而不是物理视图。” 找准 x 86平台硬件辅助虚拟化技术的位置 在正文开始之前,我们先来解读一下本文的主题— — x 86硬件辅助虚拟化。“认请自己的位置” 是老人们给我们的教诲,所以要认识 x 86硬件辅助虚拟化首先必须明白它在虚拟化技术中英特尔/AM...