提供了用于控制虚拟机(VM)和虚拟机监视器(VMM)之间的转换的方法和系统。处理器在完成所述转换之前使用状态动作指示符来加载和/或存储机器状态的相关元素。所述状态动作指示符可以存储在虚拟机控制结构(VMCS)中,可以是预定的和/或动态计算的。在一些实施例中,加载的值可以从所述VMCS直接获取,可以是预定的和/或动态计算的。在一些实施例中,存储的值可以从机器状态直接获取,可以是预定的和/或动态计算的。(*该技术在2023年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术的实施例总体上涉及计算机系统,具体来讲,涉及计算机 系统内虛拟机操作的搡作管理和/或控制。
技术介绍
虚拟机系统允许划分物理机,因此机器的底层硬件表现为一个或 多个独立操作的虚拟机(VM)。虚拟机监视器(VMM)在计算机上运行, 并且为其他软件提供一个或多个VM的抽象。每个VM可以起自包含 平台的作用,运行其自身的操作系统(OS)和/或应用软件。把在VM内 执行的软件统称为客户软件。所述客户软件期望这样操作,就好像它是在专用计算机上而不是 在VM上运行。也就是说,所述客户软件期待控制各种事件并且有权 访问计算机(例如物理机)上的硬件资源。所述物理机的硬件资源可以 包括一个或多个处理器、驻留在所述处理器上的资源(例如控制寄存 器、高速緩冲存储器及其他)、存储器(以及驻留在存储器中的结构, 例如描述符表)以及驻留在所述物理机中的其他资源(例如,输入输出 设备)。所述事件可以包括中断、异常、平台事件(例如初始化(INIT) 或者系统管理中断(SMI)等等)。在需要时,所述VMM可以将客户软件状态交换进出(swap in and out)物理机的处理器、设备、存储器以及寄存器。所述处理器可以在 VM和VMM之间的转换期间交换进出某些状态。在某些情况下,所在客户软件中正在以非特权方式执行操作时,所述方式限制对所述物理机的访问,或者当不会使用物理机中VMM希望保持控制的硬件资 源来操作时,这是尤其适用的。可以认为所述VMM是所述VM的主机。每当客户的操作可能影响VMM或者任何未执行VM的正确执行 时,所述VMM恢复控制。通常,所述VMM审查这种操作,在允许 所述操作进行到底层物理机或者代表客户模拟操作之前,确定是否存 在问题。例如,当客户访问I/0设备时、当其试图改变机器配置(例如 通过改变控制寄存器值)时、当其试图访问存储器的某些区域等等时, 所述VMM可能需要恢复控制。支持VM操作的现有物理机使用这样一种结构来控制VM的执行 环境,此处将所述结构称为虛拟机控制结构(VMCS)。把所述VMCS 存储在存储器的区域中,并且例如包含客户状态、VMM状态以及控 制信息,所述控制信息表明在客户执行期间,在什么条件下所述VMM 希望恢复控制。物理机中的一个或多个处理器读取来自于VMCS的信 息,以便确定VM和VMM的执行环境,并且适当地约束客户软件的 行为。当发生转入(即,进入)VM或者转出(即,退出)VM时,所述物理 机的处理器将加载并且存储机器状态。常规的体系结构执行加载并且 存储指令编码和机器行为的预定状态集,如以类似于其他系统结构的 方式在处理器规范中定义的那样。所述VMM被直接编码为这些规范。 这种结构限制了所述VMM的实现方式的灵活性。因此,需要用于进入和退出VM的技术的改进的实现方式。这些 实现方式和技术应该允许更好地管理和控制VM操作。
技术实现思路
按照本专利技术的一个方面,提供了 一种用于管理虚拟机转换的处理 器,包括用于根据与机器状态的元素相关的状态动作指示符来确定5将要采取的、与虛拟机转换有关的动作的逻辑,所述将要采取的动作 涉及机器状态的元素附图说明图1是依照本专利技术 一个实施例的VM体系结构的图表。图2A是依照本专利技术一个实施例的管理VM转换操作的流程图。图2B是依照本专利技术一个实施例在VM转换期间、用于加载机器 状态的方法的流程图。图2C是依照本专利技术一个实施例在VM转换期间、用于存储机器 状态的方法的流程图。图3是依照本专利技术一个实施例在VM转换期间、用于执行加载操 作的方法的流程图。图4是依照本专利技术一个实施例在VM转换期间、用于执行存储操 作的方法的流程图。图5是依照本专利技术一个实施例在VM转换期间、用于确定状态动 作指示符的值的方法流程图。具体实施例方式现在描述在VM才喿作期间用于管理转换的新颖的方法、设备和系 统。在随后对实施例的详细描述中参照了附图,其中它作为本专利技术一 部分并且通过举例说明而非限制的方式示出,可以根据这些描述实施 本专利技术的特殊实施例。这些实施例被充分详细地描述,以便使本领域 普通技术人员可以理解和实现它们,然而应该理解的是,也可以利用 其他实施例,并且可以在不脱离本公开内容的精神和范围的情况下, 可以做出结构上、逻辑上和电气上的改变。因此,不应该将以下的详 细说明认为是限制性的目的,此处所公开的本专利技术的实施例的范围由 所附权利要求书定义。图1举例说明了虚拟机环境100的一个实施例,其中可以搡作本专利技术。在此实施例中,物理机110包括计算平台,它例如能够执行标准操作系统(OS)或者虛拟机监视器(VMM),例如VMM 125。虽然通 常以软件来实现,不过所述VMM 125可以模拟并且向高级软件输出 机器接口。这种高层软件可以包括标准的或者实时OS,可以是具有 有限OS功能的高度可移去的操作环境,可不必包括传统的OS工具 等等。可替换地,所述VMM 125例如可以在另一 VMM内或者在其 上运行。所述VMM例如可以例如以硬件、软件以及固件来实现,或 者通过各种技术的组合来实现。VMM以及它们的典型特征和功能是 本领域普通技术人员所熟知的。所述物理机110可以是个人计算机(PC)、大型机、手持设备、便 携式计算机、机顶盒、智能器具或者任意其他计算系统或设备。所述 物理机110包括处理器112以及存储器120。另外,物理机110可以 包括各种其他输入/输出设备,未示出。所述处理器112可以是能够执行软件的任何类型的处理器,诸如 微处理器、数字信号处理器、微控制器等等。所述处理器112可以包 括微代码、宏代码、软件、可编程逻辑或者硬编码逻辑,用于完成本 专利技术方法的实施例的执行。虽然图1中只示出了一个这种处理器112, 但是应该理解的是,在所述系统中可以存在一个或多个处理器。存储器120可以是硬盘、软盘、随机存取存储器(RAM)、只读存 储器(ROM)、闪存、可由处理器112读取的任何其他类型的机器介质 或者是上述设备的任意组合。存储器120可以存储用于完成本专利技术方 法实施例的执行的指令和/或数据。所述VMM 125向其他软件(即,"客户软件")提供一个或多个虚拟 机(VM)的抽象,其可以向各个客户提供相同或不同的抽象。图l示出 了三个VM,即132、 142和152。在每个VM上运行的客户软件可以 包括客户OS,诸如客户OS 134、 144或者154,并且可以包括各种客 户软件应用程序136、 146和156。客户OS 134、 144和154中的每一 个期待访问所述VM132、142和152中的物理资源(例如,处理器ll2、7寄存器、存储器120和I/O设备),其上可以运行客户OS 134、 144或 者154并且用于处理各种事件,所述事件包括在VM132、 142和152 的操作期间、由系统设备生成的中断。所述处理器112依照存储在VMCS 122中的数据来控制VM 132、 142和152的操作。可以把VMCS 122存储在存储器120中(如图1所 示),存储在处理器112内,存储在任意其他位置或者存储在存储位置 的任意组合中。所述VMCS 122给VMM 125和客户软件的机器状态 提供存储空间。另夕卜,它可以包括指示符来限制或者控制VM的操作, 并且控制VM和所述V本文档来自技高网...
【技术保护点】
一种用于管理虚拟机转换的处理器,包括: 用于根据与机器状态的元素相关的状态动作指示符来确定将要采取的、与虚拟机转换有关的动作的逻辑,所述将要采取的动作涉及机器状态的元素。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:S贝内特,G奈格尔,E科塔罗布尔斯,S耶亚辛,A卡吉,M科祖赫,R乌利希,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。