当前位置: 洪哥笔记 > 云计算 > CPU硬件虚拟化

 

CPU硬件虚拟化


关键词

CPU硬件虚拟化

摘要

CPU硬件虚拟化,也就是CPU硬件辅助虚拟化(CPU Hardware Assisted Virtualization)

为了实现虚拟化,VMWare走了全虚拟化的道路,而Citrix和微软等走了半虚拟化的道路。全虚拟化因为不需要修改操作系统即可直接使用,所以支持的操作系统很多,但因为中间有一个指令的二进制转译的过程,所以性能比较差一点。半虚拟化则恰好相反,它修改了GuestOS系统,植入了HyperCall,让GuestOS部分指令可以直接运行到Ring 0级别,这样性能得以保存。但是因为要改操作系统,而很多操作系统不愿意被修改(比如微软的Windows),而有些操作系统又无人去修改,所以导致的结果就是支持的操作系统比较少。

等到虚拟化很火了,Intel和AMD也坐不住了,他们提出要从CPU的根本架构着手,解决这个全虚拟化和半虚拟化的问题。他们把CPU原来的Ring 0、1、2、3四个级别设定为非Root模式特权级别,然后再增加了一个Root模式特权级别,有人将这个级别称之为Ring -1(负一),可以想见,就是比Ring 0还要底层的权限级别。VMM就运行在Ring -1上,而让GuestOS运行到Ring 0上,这样从Guest OS到VMM就不需要Binary Translation或Paravirtualization了。
在Intel公司,这个技术叫Intel VT;ADM公司则叫AMD-V。
使用了CPU硬件虚拟化,全虚拟化厂商的性能追上了半虚拟化厂商,而半虚拟化厂商也可以支持不修改内核的操作系统了(例如Windows和绝大多数Linux)

CPU硬件虚拟化,也就是CPU硬件辅助虚拟化(CPU Hardware Assisted Virtualization)

为了实现虚拟化,VMWare走了全虚拟化的道路,而Citrix和微软等走了半虚拟化的道路。全虚拟化因为不需要修改操作系统即可直接使用,所以支持的操作系统很多,但因为中间有一个指令的二进制转译的过程,所以性能比较差一点。半虚拟化则恰好相反,它修改了GuestOS系统,植入了HyperCall,让GuestOS部分指令可以直接运行到Ring 0级别,这样性能得以保存。但是因为要改操作系统,而很多操作系统不愿意被修改(比如微软的Windows),而有些操作系统又无人去修改,所以导致的结果就是支持的操作系统比较少。

等到虚拟化很火了,Intel和AMD也坐不住了,他们提出要从CPU的根本架构着手,解决这个全虚拟化和半虚拟化的问题。他们把CPU原来的Ring 0、1、2、3四个级别设定为非Root模式特权级别,然后再增加了一个Root模式特权级别,有人将这个级别称之为Ring -1(负一),可以想见,就是比Ring 0还要底层的权限级别。VMM就运行在Ring -1上,而让GuestOS运行到Ring 0上,这样从Guest OS到VMM就不需要Binary Translation或Paravirtualization了。
在Intel公司,这个技术叫Intel VT;ADM公司则叫AMD-V。
使用了CPU硬件虚拟化,全虚拟化厂商的性能追上了半虚拟化厂商,而半虚拟化厂商也可以支持不修改内核的操作系统了(例如Windows和绝大多数Linux)

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权

本文属于“洪哥笔记”原创文章,转载请注明来源地址:CPU硬件虚拟化:http://www.splaybow.com/post/cpu-virtualization.html

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« 全虚拟化与VMWare VMWare vSphere »

相关文章:

网站中如何插件不带广告的视频(视频云服务)  (2017/4/17 9:07:59)

阿里云快照服务开始收费了  (2017/3/27 19:25:10)

集群与分布式的区别  (2014/2/23 15:19:46)

Windows Server 2012 R2的Hyper-V新功能分析  (2013/8/11 20:04:34)

VMWare vSphere  (2013/4/24 10:30:30)

CPU硬件虚拟化  (2013/4/25 9:32:41)

全虚拟化与VMWare  (2013/4/25 8:52:39)