- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Intel虚拟化技术-从VT-x到VT-d
Intel 虚拟化技术-从 VT-x 到 VT-d
(来自网络,如有错误,概不负责,仅供参考)
当前非常热门的 Virtualization 虚拟化技术的出现和应用其实已经有数十年的历史了,在
早期,这个技术主要应用在服务器以及大型主机上面,现在,随着 PC 性能的不断增长,
Virtualization 也开始逐渐在 x86 架构上流行起来。
虚拟化技术将各种资源虚拟出多台主机,以提高这些资源的共享率和利用率
虚拟化可以将 IT 环境改造成为更加强大、更具弹性、更富有活力的架构。通过把多个操作
系统整合到一台高性能服务器上,最大化利用硬件平台的所有资源,用更少的投入实现更多
的应用,还可以简化 IT 架构,降低管理资源的难度,避免 IT 架构的非必要扩张。客户虚拟
机的真正硬件无关性还可以实现虚拟机的运行时迁移,可以实现真正的不间断运行,从而最
大化保持业务的持续性,而不用为购买超高可用性平台而付出高昂的代价。
和 Sun 上的虚拟化技术(CPU 分区)比起来,x86 上的虚拟化要落后不少的,然而确实
在不断进步着,在数年前,x86 上还没有什么硬件支持,甚至连指令集都不是为虚拟化而设
计,这时主要靠完全的软件来实现虚拟化,当时的代表是 VMware 的产品,以及尚未被
Microsoft 收购 Connectix 开发的 Virtual PC,在服务器市场上应用的主要是 VMware 的产品,
包括 GSX Server 和稍后的 ESX Server,这些软件虚拟化产品在关键指令上都采用了二进制
模拟/翻译的方法,开销显得比较大,后期出现了 Para-Virtualization 部分虚拟化技术,避免
了一些二进制转换,性能得到了提升,不过仍然具有隔离性的问题。
今天,虚拟化技术的各方面都有了进步,虚拟化也从纯软件逐深入到处理器级虚拟化,
再到平台级虚拟化乃至输入/输出级虚拟化,代表性技术就是 Intel Virtualization Technology
for Directed I/O,简写为 Intel VT-d,在介绍这个 Intel VT-d 之前,我们先来看看 x86 硬件虚
拟化的第一步:处理器辅助虚拟化技术,也就是 Intel Virtualization Technology,分为对应
Itanium 平台的 VT-i 和对应 x86 平台的 VT-x 两个版本。AMD 公司也有对应的技术 AMD-V,
用于 x86 平台。我们介绍的是 x86 平台上的 VT-x 技术,VT-i 技术原理上略为相近。
纯软件虚拟化主要的问题是性能和隔离性。Full Virtualization 完全虚拟化技术可以提供
较好的客户操作系统独立性,不过其性能不高,在不同的应用下,可以消耗掉主机 10%~30%
的资源。而 OS Virtualization 可以提供良好的性能,然而各个客户操作系统之间的独立性并
不强。无论是何种软件方法,隔离性都是由 Hypervisor 软件提供的,过多的隔离必然会导致
性能的下降。
1
这些问题主要跟 x86 设计时就没有考虑虚拟化有关。我们先来看看 x86 处理器的
Privilege 特权等级设计。
x86 架构为了保护指令的运行,提供了指令的 4 个不同 Privilege 特权级别,术语称为
Ring,从 Ring 0~Ring 3。Ring 0
文档评论(0)