当前位置: 首页 > 专利查询>英特尔公司专利>正文

控制虚拟机的方法技术

技术编号:2920320 阅读:130 留言:0更新日期:2012-04-11 18:40
一种用于激活虚拟机控制结构(VMCS)的方法:由虚拟机监视器(VMM)确定VMCS所需的存储空间大小;并且向处理器提供指向存储器区域的指针,所述存储器区域至少与VMCS所需的存储空间大小一样大。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的实施例总体上涉及计算机系统,具体来讲,涉及计算机系统内虚拟机的操作控制。
技术介绍
虚拟机体系结构从逻辑上划分物理机,以致机器的底层硬件是分时的,并且表现为一个或多个独立操作的虚拟机(VM)。虚拟机监视器(VMM)在计算机上运行,并且便于为其他软件抽象一个或多个VM。每个VM可以起独立平台的作用,运行其自身的操作系统(OS)和应用软件。此处把在VM中运行的软件统称为客户软件。客户软件期待这样的操作,就好像它正在专用计算机上运行而不是在VM上运行。也就是说,客户软件期待控制各种事件并且有权访问计算机(例如物理机)上的硬件资源。所述物理机的硬件资源可以包括一个或多个处理器、驻留在所述处理器上的资源(例如控制寄存器、高速缓冲存储器及其他)、存储器(以及驻留在存储器中的结构、例如描述符表)以及驻留在所述物理机中的其他资源(例如,输入输出设备)。所述事件可以包括中断、异常、平台事件(例如初始化(INIT)或者系统管理中断(SMI)等等)。所述VMM可以根据需要将客户软件状态交换(swap)进出物理机的设备、存储器以及寄存器。所述VMM可以通过允许直接访问底层的物理机来增强VM的性能。当在客户软件中正在以非特权模式执行操作时,所述方式限制软件访问所述物理机,或者当操作不利用物理机中VMM希望保持控制的硬件资源时,这是尤其适用的。每当客户操作可能影响VMM或者任何未执行VM的正确执行时,所述VMM恢复控制。通常,所述VMM审查这种操作,在允许所述操作进行到底层物理机或者模拟对客户利益的操作之前,确定是否存在问题。例如,当客户访问I/O设备时、当其试图(例如通过改变控制寄存器值)改变机器配置时、当其试图访问存储器的某区域等等时,所述VMM可能需要恢复控制。支持VM操作的现有系统使用固定格式结构来控制VM的执行环境,此处将所述固定格式结构称为虚拟机控制结构(VMCS)。所述VMCS被存储在存储器区域中,并且例如包含客户状态、VMM的状态以及控制信息,所述控制信息表明在客户执行期间,在什么条件下所述VMM希望恢复控制。物理机中的处理器读取来自于所述VMCS的信息以便确定VM和VMM的执行环境,并且约束客户软件在所述VMM控制之下的行为。常规的体系结构把VMCS定位在物理机的存储器中,并且允许VMM使用普通存储器读写指令来访问它。为此,必须在处理器指令集架构中从体系结构上定义所述VMCS的格式(并且以类似于其他系统结构和指令编码的方式在规范和手册中记载)。所述VMM被直接编码为这些规范。这种结构限制了支持VMM的处理器在执行方面的灵活性。由于VMCS的形式是从体系结构上来定义的,所以出于性能、扩展性、兼容性、安全性等等的原因,特定处理器实现方式的微体系结构不可以在VMCS数据的格式、内容、组织或者存储需求方面做出改变,此外不需要对已安装的VMM执行基础做出相应修改。因此,需要更加灵活的虚拟机体系结构的实现方式,该实现方式不必严格耦合至物理机的底层实现方式。附图说明图1是依照本专利技术一个实施例的VM体系结构的图表。图2是依照本专利技术一个实施例的控制VM的方法流程图。图3是依照本专利技术一个实施例的VMCS访问指令的图表。图4是依照本专利技术一个实施例的读取来自于VMCS的数据的方法流程图。图5是依照本专利技术一个实施例的写数据至VMCS的方法流程图。具体实施例方式描述新颖的VM控制体系结构。在随后对实施例的详细描述中,参照了附图,该附图作为本专利技术的一部分,并且其中通过举例说明而非限制的方式示出了可以实施本专利技术的特定实施例。这些实施例是以足够多的细节来描述的,以便使本领域普通技术人员可以理解和实现它们,并且应该理解的是,也可以利用其他实施例,并且可以在不脱离本公开内容的精神和范围的情况下,做出结构上、逻辑上和电气上的改变。因此,不应该将以下的详细说明认为是限制意义上的,并且此处所公开的本专利技术的实施例的范围只由所附权利要求定义。VMM给予其他软件(“客户软件”、“多个客户”或者仅仅“一个客户”)一个或多个VM的抽象。所述VMM可以向各种客户提供相同或者不同的抽象。每个客户期待出现于VM中的所有硬件平台设施都可供其使用。例如,依照处理器的体系结构和出现于所述VM中的平台,客户期待有权访问所有寄存器、高速缓冲存储器、结构、I/O设备、存储器等等。此外,每个客户期待处理各种事件,诸如处理异常、中断和平台事件(例如初始化(INIT)或者系统管理中断(SMI))。一些资源和事件被“给予特权”,因为它们必须由VMM管理,以便确保VM的正确操作并且保护VMM以及其他VM。对于被给予特权的资源和事件来说,所述VMM简化(facilitate)客户软件所要求的功能,同时经由这些资源和事件保持最终控制。简化客户软件功能的动作就所述VMM而言可以包括各式各样的活动。所述VMM的活动及其特征不限制本专利技术各种实施例的范围。当客户软件访问被给予特权的资源或者被给予特权的事件发生时,可以把控制传递给VMM。把控制从客户软件传递到所述VMM称为VM退出。在简化资源访问或者适当地处理事件之后,所述VMM可以把控制返回至客户软件。把控制从VMM传递到客户软件称为VM进入。所述虚拟机控制结构(VMCS)是从体系结构上定义的结构,该结构例如包含客户软件的状态、VMM的状态、表明在哪些条件下VMM希望防止客户执行的控制信息以及涉及最新VM退出的信息。在当前系统中,正确地匹配从体系结构上定义的结构的VMCS的表示位于存储器中。物理机中的所述处理器读取来自VMCS的信息以便确定VM的执行环境并且约束其行为。在客户执行期间,所述处理器查阅VMCS中的控制信息来确定哪些客户动作(例如某指令的执行、某异常的出现等)和事件(例如外部中断)将引起VM退出。当发生VM退出时,由客户软件使用的处理机状态组件(component)被保存到VMCS,并且把VMM所要求的处理机状态组件从所述VMCS中载入。当发生VM退出时,使用本领域普通技术人员所公知的任意机制把控制传递至VMM 120。当发生VM进入时,在VM退出时保存的处理机状态(并且其也许已由VMM修改)被恢复,并且把控制返回到客户软件。为了便于第一VM进入至客户,所述VMM把适当的客户状态写入VMCS。当处理VM退出时,所述VMM可以改变VMCS中的客户状态。在一些实施例中,由单个物理机上的单个VMM管理支持多个VM的多个VMCS结构。所述VMCS不需要包括如上所述的全部信息,并且可以包括有助于VM的控制的附加信息。在一些实施例中,VMCS可以包含很大数量的附加信息。图1举例说明了依照本专利技术一个实施例的VM体系结构100的图表。所述VM体系结构100包括基础硬件平台110(例如物理机)。所述基础硬件平台110包括均有权访问易失性和/或非易失性存储器116的一个或多个处理器112。另外,在基础硬件平台中还存在其他元件,在图1中没有示出这些元件(例如,输入输出设备)。所述VM体系结构100还包括VMM 120,其管理一个或多个VM(例如,130、140和150),其中每个VM(例如130、140和150)支持一个或多个OS(例如150、160和170)和应用程序(例如152、162和172)。所述处理器112可以是能够执行软本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:G·奈格尔E·科塔罗布尔斯S·耶亚辛A·卡吉M·科祖赫R·乌利希E·博利恩S·罗杰斯L·史密斯三世S·贝内特A·格卢
申请(专利权)人:英特尔公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利