VTx到VTdIntel虚拟化技术发展

VTx到VTdIntel虚拟化技术发展

ID:36570714

大小:368.50 KB

页数:12页

时间:2019-05-12

VTx到VTdIntel虚拟化技术发展_第1页
VTx到VTdIntel虚拟化技术发展_第2页
VTx到VTdIntel虚拟化技术发展_第3页
VTx到VTdIntel虚拟化技术发展_第4页
VTx到VTdIntel虚拟化技术发展_第5页
资源描述:

《VTx到VTdIntel虚拟化技术发展》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、VT-x到VT-dIntel虚拟化技术发展  当前非常热门的Virtualization虚拟化技术的出现和应用其实已经有数十年的历史了,在早期,这个技术主要应用在服务器以及大型主机上面,现在,随着PC性能的不断增长,Virtualization也开始逐渐在x86架构上流行起来。    虚拟化技术将各种资源虚拟出多台主机,以提高这些资源的共享率和利用率  虚拟化可以将IT环境改造成为更加强大、更具弹性、更富有活力的架构。通过把多个操作系统整合到一台高性能服务器上,最大化利用硬件平台的所有资源,用更少的投入实现更多的应用,

2、还可以简化IT架构,降低管理资源的难度,避免IT架构的非必要扩张。客户虚拟机的真正硬件无关性还可以实现虚拟机的运行时迁移,可以实现真正的不间断运行,从而最大化保持业务的持续性,而不用为购买超高可用性平台而付出高昂的代价。    和Sun上的虚拟化技术(CPU分区)比起来,x86上的虚拟化要落后不少的,然而确实在不断进步着,在数年前,x86上还没有什么硬件支持,甚至连指令集都不是为虚拟化而设计,这时主要靠完全的软件来实现虚拟化,当时的代表是VMware的产品,以及尚未被Microsoft收购Connectix开发的Vir

3、tualPC,在服务器市场上应用的主要是VMware的产品,包括GSXServer和稍后的ESXServer,这些软件虚拟化产品在关键指令上都采用了二进制模拟/翻译的方法,开销显得比较大,后期出现了Para-Virtualization部分虚拟化技术,避免了一些二进制转换,性能得到了提升,不过仍然具有隔离性的问题。    今天,虚拟化技术的各方面都有了进步,虚拟化也从纯软件逐深入到处理器级虚拟化,再到平台级虚拟化乃至输入/输出级虚拟化,代表性技术就是IntelVirtualizationTechnologyforDir

4、ectedI/O,简写为IntelVT-d,在介绍这个IntelVT-d之前,我们先来看看x86硬件虚拟化的第一步:处理器辅助虚拟化技术,也就是IntelVirtualizationTechnology,分为对应Itanium平台的VT-i和对应x86平台的VT-x两个版本。AMD公司也有对应的技术AMD-V,用于x86平台。我们介绍的是x86平台上的VT-x技术,VT-i技术原理上略为相近。  纯软件虚拟化主要的问题是性能和隔离性。FullVirtualization完全虚拟化技术可以提供较好的客户操作系统独立性,不

5、过其性能不高,在不同的应用下,可以消耗掉主机10%~30%的资源。而OSVirtualization可以提供良好的性能,然而各个客户操作系统之间的独立性并不强。无论是何种软件方法,隔离性都是由Hypervisor软件提供的,过多的隔离必然会导致性能的下降。  这些问题主要跟x86设计时就没有考虑虚拟化有关。我们先来看看x86处理器的Privilege特权等级设计。    x86架构为了保护指令的运行,提供了指令的4个不同Privilege特权级别,术语称为Ring,从Ring0~Ring3。Ring0的优先级最高,Ri

6、ng3最低。各个级别对可以运行的指令有所限制,例如,GDT,IDT,LDT,TSS等这些指令就只能运行于Privilege0,也就是Ring0。要注意Ring/Privilege级别和我们通常认知的进程在操作系统中的优先级并不同。  操作系统必须要运行一些Privilege0的特权指令,因此Ring0是被用于运行操作系统内核,Ring1和Ring2是用于操作系统服务,Ring3则是用于应用程序。然而实际上并没有必要用完4个不同的等级,一般的操作系统实现都仅仅使用了两个等级,即Ring0和Ring3,如图所示:    也

7、就是说,在一个常规的x86操作系统中,系统内核必须运行于Ring0,而VMM软件以及其管理下的GuestOS却不能运行于Ring0——因为那样就无法对所有虚拟机进行有效的管理,就像以往的协同式多任务操作系统(如,Windows3.1)无法保证系统的稳健运行一样。在没有处理器辅助的虚拟化情况下,挑战就是采用Ring0之外的等级来运行VMM(VirtualMachineMonitor,虚拟机监视器)或Hypervisor,以及GuestOS。  现在流行的解决方法是RingDeprivileging(暂时译为特权等级下降)

8、,并具有两种选择:客户OS运行于Privilege1(0/1/3模型),或者Privilege3(0/3/3模型)。  无论是哪一种模型,客户OS都无法运行于Privilege0,这样,如GDT,IDT,LDT,TSS这些特权指令就必须通过模拟的方式来运行,这会带来很明显的性能问题。特别是在负荷沉重、这些指令被大量执行的时候。  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。