不支持硬件虚拟技术cpu照样能玩虚拟机!

ID:6103730

大小:759.04 KB

页数:4页

时间:2018-01-02

不支持硬件虚拟技术cpu照样能玩虚拟机!_第1页
不支持硬件虚拟技术cpu照样能玩虚拟机!_第2页
不支持硬件虚拟技术cpu照样能玩虚拟机!_第3页
不支持硬件虚拟技术cpu照样能玩虚拟机!_第4页
资源描述:

《不支持硬件虚拟技术cpu照样能玩虚拟机!》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、虚拟机通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。虚拟机很像运行在PC上的街机模拟器。虚拟机运行示意图。客户端操作系统可以是1个,也可以是多个。一个计算机系统可以分为如下的四个层次:硬件层、操作系统层、实用程序层(或称为支撑软件层)和应用

2、程序层。不支持硬件虚拟技术的CPU:客户端操作系统需要经过虚拟机软件转译后,通过主操作系统层交给CPU(硬件层)运行。支持硬件虚拟技术的CPU能直接运行客户端操作系统。虚拟机软件负责主操作系统与客户端操作系统的联系、控制等等。在保护模式下,x86处理器一共有4个不同优先级,术语称为Ring,从Ring0~Ring3。Ring0的优先级最高,Ring3最低。Ring0用于操作系统内核,Ring1和Ring2用于操作系统服务,Ring3用于应用程序。位于Ring0特权空间的操作系统可以优先访问各种硬件资源。传统的虚拟化技术是在Ring0中运行一个称为虚拟机监视(VMM

3、)的软件中间层,以负责控制和排列各个分区访问硬件资源的优先顺序。它要求在软件堆栈的较高层运行操作系统--通常是在Ring1或者与系统应用共用Ring3。由于操作系统缺省工作在Ring0特权级别,而现在Ring0被虚拟机监视器所拥有,所以传统的纯软件虚拟化技术需要虚拟机监视器通过复杂的软件编程来解决这个矛盾。其中一种方法是通过打补丁修改操作系统内核源代码让其认知到工作在GuestOS(客户操作系统)虚拟操作系统模式下。另一种方法是需要对运行期间操作系统的某些硬件调用指令作二进制码翻译等。二进制码翻译需要消耗处理器的很多计算资源。纯软件虚拟化运行时的开销会造成系统运行

4、速度较慢,有数据表明其引起的系统性能下降可能达5%~20%。在传统的x86运行环境下,操作系统运行在CPU中受保护的ring0位置。在没有处理器辅助的虚拟化中,ring0还需要运行VMM(virtualmachinemonitor,虚拟机监控器)或Hypervisor(虚拟机软件),以帮助VM(虚拟机)及其VOS(虚拟操作系统)管理硬件资源。因此,芯片厂商引入了一个新的、具有超级特权和受保护的ring-1位置来运行虚拟机监控器(VMM)。这个新位置可以让VOS和平共存于ring0,而通信改道于ring-1,并且,VOS并不知道正在和同一系统的其他OS共享物理资源。

5、芯片上的这一重要创新消除了操作系统的ring转换问题,降低了虚拟化门槛,支持任何操作系统的虚拟化而无须修改OS内核或run-time。Intel和AMD分别推出了VT-x和AMD-V(即Pacifica)芯片辅助技术,并得到了虚拟化软件厂商的支持。IntelVT-x技术在芯片内创建新的ring-1,并且提供了新的指令集,用来建立、管理和退出各种VM。在带有虚拟化功能的芯片中,Hypervisor处于ring-1位置,它生成一个VM控制结构来支持每个新VM。可见,这提供了一种机制,可以根据需要来启动、恢复和退出VM,并且在VMM和大量的VM之间提供了内容交换框架(f

6、rameworkforcontext-switching)。对VM的控制,Intel称之为VMXs,而AMD称之为SVMs(secureVMs),虽然名称不同,但两家芯片的处理方式是比较相似的。更重要的是,都允许客机操作系统(guestOS)进驻ring0,从而消除了ring转换问题。由于许多指令对位置具有敏感性(location-sensitive),而且被设计为只能在ring0和ring3之间转化,因此,如果VOS运行在ring0之外的地方,就可能会导致关键进程的运行出现无法预知的错误,或者在应该出错的时候却没有出错。以往,虚拟化厂商都是通过软件机制来截取和纠

7、正相应问题。现在,由于虚拟机可以安全地运行在ring0位置,因此,这一软件机制也就无须再考虑了。当VM发生错误时,处理器可以将控制权转给受保护的VMM,从而解决问题和重新控制VM,或者终止出错进程但不影响同一系统上的其他VM。如果主操作系统和客户端操作系统都是X86指令系统,那么支持硬件虚拟技术的X86CPU能直接运行客户端操作系统;若主操作系统是X86指令系统,而客户端操作系统是其他指令系统(比如IBMPowerPC),支持硬件虚拟技术的X86CPU仍然需要经过虚拟机软件转译。也就是说,现在intel、AMD的所谓支持硬件虚拟技术的CPU,只有在主操作系统和客户

8、端操作系统

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

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

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

《不支持硬件虚拟技术cpu照样能玩虚拟机!》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、虚拟机通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就像是在真正的计算机中进行工作。虚拟机很像运行在PC上的街机模拟器。虚拟机运行示意图。客户端操作系统可以是1个,也可以是多个。一个计算机系统可以分为如下的四个层次:硬件层、操作系统层、实用程序层(或称为支撑软件层)和应用

2、程序层。不支持硬件虚拟技术的CPU:客户端操作系统需要经过虚拟机软件转译后,通过主操作系统层交给CPU(硬件层)运行。支持硬件虚拟技术的CPU能直接运行客户端操作系统。虚拟机软件负责主操作系统与客户端操作系统的联系、控制等等。在保护模式下,x86处理器一共有4个不同优先级,术语称为Ring,从Ring0~Ring3。Ring0的优先级最高,Ring3最低。Ring0用于操作系统内核,Ring1和Ring2用于操作系统服务,Ring3用于应用程序。位于Ring0特权空间的操作系统可以优先访问各种硬件资源。传统的虚拟化技术是在Ring0中运行一个称为虚拟机监视(VMM

3、)的软件中间层,以负责控制和排列各个分区访问硬件资源的优先顺序。它要求在软件堆栈的较高层运行操作系统--通常是在Ring1或者与系统应用共用Ring3。由于操作系统缺省工作在Ring0特权级别,而现在Ring0被虚拟机监视器所拥有,所以传统的纯软件虚拟化技术需要虚拟机监视器通过复杂的软件编程来解决这个矛盾。其中一种方法是通过打补丁修改操作系统内核源代码让其认知到工作在GuestOS(客户操作系统)虚拟操作系统模式下。另一种方法是需要对运行期间操作系统的某些硬件调用指令作二进制码翻译等。二进制码翻译需要消耗处理器的很多计算资源。纯软件虚拟化运行时的开销会造成系统运行

4、速度较慢,有数据表明其引起的系统性能下降可能达5%~20%。在传统的x86运行环境下,操作系统运行在CPU中受保护的ring0位置。在没有处理器辅助的虚拟化中,ring0还需要运行VMM(virtualmachinemonitor,虚拟机监控器)或Hypervisor(虚拟机软件),以帮助VM(虚拟机)及其VOS(虚拟操作系统)管理硬件资源。因此,芯片厂商引入了一个新的、具有超级特权和受保护的ring-1位置来运行虚拟机监控器(VMM)。这个新位置可以让VOS和平共存于ring0,而通信改道于ring-1,并且,VOS并不知道正在和同一系统的其他OS共享物理资源。

5、芯片上的这一重要创新消除了操作系统的ring转换问题,降低了虚拟化门槛,支持任何操作系统的虚拟化而无须修改OS内核或run-time。Intel和AMD分别推出了VT-x和AMD-V(即Pacifica)芯片辅助技术,并得到了虚拟化软件厂商的支持。IntelVT-x技术在芯片内创建新的ring-1,并且提供了新的指令集,用来建立、管理和退出各种VM。在带有虚拟化功能的芯片中,Hypervisor处于ring-1位置,它生成一个VM控制结构来支持每个新VM。可见,这提供了一种机制,可以根据需要来启动、恢复和退出VM,并且在VMM和大量的VM之间提供了内容交换框架(f

6、rameworkforcontext-switching)。对VM的控制,Intel称之为VMXs,而AMD称之为SVMs(secureVMs),虽然名称不同,但两家芯片的处理方式是比较相似的。更重要的是,都允许客机操作系统(guestOS)进驻ring0,从而消除了ring转换问题。由于许多指令对位置具有敏感性(location-sensitive),而且被设计为只能在ring0和ring3之间转化,因此,如果VOS运行在ring0之外的地方,就可能会导致关键进程的运行出现无法预知的错误,或者在应该出错的时候却没有出错。以往,虚拟化厂商都是通过软件机制来截取和纠

7、正相应问题。现在,由于虚拟机可以安全地运行在ring0位置,因此,这一软件机制也就无须再考虑了。当VM发生错误时,处理器可以将控制权转给受保护的VMM,从而解决问题和重新控制VM,或者终止出错进程但不影响同一系统上的其他VM。如果主操作系统和客户端操作系统都是X86指令系统,那么支持硬件虚拟技术的X86CPU能直接运行客户端操作系统;若主操作系统是X86指令系统,而客户端操作系统是其他指令系统(比如IBMPowerPC),支持硬件虚拟技术的X86CPU仍然需要经过虚拟机软件转译。也就是说,现在intel、AMD的所谓支持硬件虚拟技术的CPU,只有在主操作系统和客户

8、端操作系统

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