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

用于多级虚拟化的技术制造技术

技术编号:17746095 阅读:54 留言:0更新日期:2018-04-18 19:33
用于多级虚拟化的技术包括具有支持根虚拟化模式和非根虚拟化模式的处理器的计算设备。非根管理程序判定其是否在根管理程序的控制下执行,并且如果是,则向所述根管理程序注册回调处理程序和触发条件。所述非根管理程序主控一个或多个虚拟机。响应于虚拟机退出,所述根管理程序判定是否已经针对所述虚拟机的退出原因注册了回调处理程序,并且如果是,则估计与所述回调处理程序相关联的所述触发条件。如果满足所述触发条件,则所述根管理程序调用所述回调处理程序。所述回调处理程序可以基于由所述根管理程序对虚拟化支持对象做出的改变来更新虚拟虚拟化支持对象。所述根管理程序可以调用处于所述非根虚拟化模式下的所述回调处理程序。描述并要求保护了其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】用于多级虚拟化的技术相关申请的交叉引用本申请要求于2015年9月25日提交的名称为“TECHNOLOGIESFORMULTI-LEVELVIRTUALIZATION(用于多级虚拟化的技术)”的美国技术专利申请序列号14/866,187的优先权。
技术介绍
典型的计算机处理器包括对虚拟化操作的硬件支持。软件虚拟化包括从主机操作系统、管理程序或虚拟机监测程序(VMM)内透明地执行一个或多个访客操作系统。硬件虚拟化特征可以包括扩展特权模型、对虚拟存储器寻址的硬件辅助支持、对扩展存储器权限的支持以及其他虚拟化特征。某些计算设备包括用于监测或检查主机操作系统完整性的瘦管理程序。然而,包括瘦管理程序的计算系统可能难以在仍然维持安全的同时另外执行管理程序或VMM,比如由主机操作系统主控的VMM。例如,被主控的VMM通常在主机操作系统中具有可能潜在地危及主机操作系统安全的特权部件。可替代地,为了保护主机操作系统的安全断言,瘦管理程序可以使硬件虚拟化特征对被主控的VMM不可用,和/或针对被主控的VMM对硬件特征进行虚拟化,并以嵌套和/或非特权模式运行被主控的VMM。在使用嵌套虚拟化的系统中,瘦管理程序对每个虚拟机(VM)退出进行虚拟化,这可能导致瘦管理程序与被主控VMM之间的大量附加VM退出。由公司制造的某些处理器包括可以减少VM退出数量的硬件特征,如虚拟机控制结构(VMCS)shadowing。然而,在这些实施例中,瘦管理程序仍然针对每个VM退出执行嵌套VM退出处理。附图说明在附图中通过示例的方式而不是通过限制的方式来展示了本文中所描述的概念。为了说明的简单和清楚起见,附图中所展示的元件不一定按比例绘制。在认为适当的情况下,在附图当中已经重复了参考标号以表示相应或相似的元件。图1是用于多级虚拟化的计算设备的至少一个实施例的简化框图;图2是图1的计算设备的环境的至少一个实施例的简化框图;图3是可由图1至图2的计算设备建立的管理程序环境的至少一个实施例的简化框图;图4是可由图1至图3的计算设备执行的用于根虚拟化的方法的至少一个实施例的简化流程图;图5是可由图1至图3的计算设备执行的用于虚拟机退出处理的方法的至少一个实施例的简化流程图;图6是可由图1至图3的计算设备执行的用于非根管理程序半虚拟化的方法的至少一个实施例的简化流程图;并且图7是可由图1至图3的计算设备执行的用于非根回调处理的方法的至少一个实施例的简化流程图。具体实施方式虽然本公开的概念易于经历各种修改和替代形式,但是在附图中已经通过示例的方式示出了其特定实施例并且将在本文中对其进行详细描述。然而,应当理解的是,并不意在将本公开的概念限制于所公开的特定形式,而相反,意图是覆盖与本公开和所附权利要求书一致的所有修改形式、等效形式和替代形式。在说明书中提到“一个实施例(oneembodiment)”、“实施例(anembodiment)”、“示意性实施例(anillustrativeembodiment)”等表明所描述的实施例可以包括特定特征、结构或特性,但每一个实施例可以或可以不一定包括所述特定特征、结构或特性。而且,这种短语不一定指相同的实施例。进一步地,当关于实施例而描述了特定特征、结构或特性时,应当认为的是,无论是否进行了明确描述,结合其他实施例来实现这种特征、结构或特性都在本领域的技术人员的知识内。另外,应理解的是,包括在采用“至少一个A、B和C”形式的列表中的项可意指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。类似地,采用“A、B或C中的至少一项”的形式列出的项可以意指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。在一些情况下,可以在硬件、固件、软件或其任何组合中实施所公开的实施例。还可以将所公开的实施例实施为由暂态或非暂态机器可读(例如,计算机可读)存储介质承载或者存储在其上的可由一个或多个处理器来读取和执行的指令。机器可读存储介质可以实施为任何存储设备、机制、或用于存储或传输采用机器可读形式的信息的其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。在附图中,可以采用特定安排和/或排序来示出一些结构特征或方法特征。然而,应当理解的是,可以不需要这种特定的安排和/或排序。相反,在一些实施例中,可以采用与在说明性附图中所示出的方式和/或顺序不同的方式和/或顺序来安排这种特征。此外,在具体的图中包括结构特征或方法特征并不意指暗示在所有实施例中都需要这种特征,并且在一些实施例中,可以不包括这种特征或者这种特征可以与其他特征组合。现在参照图1,用于安全虚拟机间共享存储器通信的说明性计算设备100包括处理器120,所述处理器支持在根虚拟化模式和非根虚拟化模式下执行。在操作中,如以下进一步描述的,计算设备100建立在根虚拟化模式下执行的根管理程序和在非根虚拟化模式下执行的非根管理程序。根管理程序可以执行安全操作和性能密集型操作,比如用于虚拟机退出的通用处理程序。非根管理程序可以向根管理程序注册一个或多个回调处理程序和相关联的触发条件。响应于虚拟机退出,如果满足触发条件,则根管理程序可以切换至非根虚拟化模式并执行经注册回调处理程序。因此,计算设备100可以在无需嵌套虚拟化或软件仿真的情况下使能实现两级虚拟化,并且因此可以大大提高虚拟化性能。例如,与嵌套虚拟化相比,通过处理根管理程序中的虚拟机退出并仿真触发条件,计算设备100可以避免执行许多虚拟机退出。另外,计算设备100可以批处理或以其他方式复用虚拟化操作,并使用虚拟化支持对象的更新列表来避免所有虚拟化支持对象的完全虚拟化。与传统虚拟机监测程序或管理程序相比,通过在非根管理程序中包括更高级的功能,根管理程序可以具有更小的代码基,并且因此计算设备100还可以具有减小的可信代码基。计算设备100可以被实施为能够执行多级虚拟化并且以其他方式执行本文中所描述的功能的任何类型的设备。例如,计算设备100可以被实施为(而不限于)工作站、服务器计算机、分布式计算系统、多处理器系统、膝上型计算机、笔记本计算机、平板计算机、智能电话、移动计算设备、可穿戴计算设备、计算机、台式计算机、消费者电子设备、智能家电、和/或能够虚拟机间共享存储器通信的任何其他计算设备。如在图1中所示出的,说明性计算设备100包括处理器120、I/O子系统126、存储器128、和数据存储设备130。当然,在其他实施例中,计算设备100可以包括其他或附加部件,如笔记本计算机中常见的部件(例如,各种输入/输出设备)。此外,在一些实施例中,说明性部件中的一个或多个说明性部件可以结合在另一部件中,或以其他方式形成另一部件的一部分。例如,在一些实施例中,可以将存储器128或者其部分结合到处理器120中。处理器120可以被实施为能够执行在本文中所描述的功能的任何类型的处理器。例如,处理器120可以实施为(多个)单核或多核处理器、数字信号处理器、微控制器、或者其他处理器或处理/控制电路。另外,尽管被展示为包括单个处理器120,但应当理解,在一些实施例中,计算设备100可以包括多个处理器120。处理器120包括对虚拟化的基于硬件的、硬件辅助的或硬件加速的支持。具体地,处理器120本文档来自技高网...
用于多级虚拟化的技术

【技术保护点】
一种用于多级虚拟化的计算设备,所述计算设备包括:处理器,具有根虚拟化模式支持和非根虚拟化模式支持;以及一个或多个存储器设备,具有存储在其中的多条指令,所述多条指令当由所述处理器执行时使所述计算设备:由所述计算设备的根管理程序来接收由所述计算设备的虚拟机生成的虚拟机退出,其中,所述虚拟机由所述计算设备的非根管理程序主控;由处于所述根虚拟化模式下的所述根管理程序响应于接收到所述虚拟机退出而判定是否针对所述虚拟机退出的退出原因注册了所述非根管理程序的回调处理程序;由处于所述根虚拟化模式下的所述根管理程序响应于确定注册了所述回调处理程序而判定是否满足与所述回调处理程序相关联的触发条件;以及响应于确定满足所述触发条件而执行所述非根管理程序的所述回调处理程序。

【技术特征摘要】
【国外来华专利技术】2015.09.25 US 14/866,1871.一种用于多级虚拟化的计算设备,所述计算设备包括:处理器,具有根虚拟化模式支持和非根虚拟化模式支持;以及一个或多个存储器设备,具有存储在其中的多条指令,所述多条指令当由所述处理器执行时使所述计算设备:由所述计算设备的根管理程序来接收由所述计算设备的虚拟机生成的虚拟机退出,其中,所述虚拟机由所述计算设备的非根管理程序主控;由处于所述根虚拟化模式下的所述根管理程序响应于接收到所述虚拟机退出而判定是否针对所述虚拟机退出的退出原因注册了所述非根管理程序的回调处理程序;由处于所述根虚拟化模式下的所述根管理程序响应于确定注册了所述回调处理程序而判定是否满足与所述回调处理程序相关联的触发条件;以及响应于确定满足所述触发条件而执行所述非根管理程序的所述回调处理程序。2.如权利要求1所述的计算设备,其中,所述多条指令当由所述处理器执行时进一步使所述计算设备:由处于所述根虚拟化模式下的所述根管理程序响应于确定未针对所述虚拟机退出的所述退出原因注册所述非根管理程序的回调处理程序而处理所述虚拟机退出;以及由所述根管理程序响应于处理所述虚拟机退出而恢复所述虚拟机的执行。3.如权利要求1所述的计算设备,其中,所述多条指令当由所述处理器执行时进一步使所述计算设备:由所述根管理程序响应于确定未满足所述触发条件而恢复所述虚拟机的执行。4.如权利要求1所述的计算设备,其中,所述多条指令当由所述处理器执行时进一步使所述计算设备:由处于所述根虚拟化模式下的所述根管理程序响应于接收到所述虚拟机退出而修改所述虚拟化支持对象;以及由处于所述根虚拟化模式下的所述根管理程序响应于所述虚拟化支持对象的修改而生成所述虚拟化支持对象的变化列表;其中,执行所述非根管理程序的所述回调处理程序包括:向所述非根管理程序提供所述虚拟化支持对象的所述变化列表。5.如权利要求4所述的计算设备,其中,所述多条指令当由所述处理器执行时进一步使所述计算设备:由所述非根管理程序基于所述虚拟化支持对象使用所述虚拟化支持对象的所述变化列表来更新所述虚拟虚拟化支持对象。6.如权利要求5所述的计算设备,其中:所述虚拟化支持对象包括虚拟机控制结构(VMCS)或扩展页表;并且所述虚拟虚拟化支持对象包括虚拟VMCS或虚拟扩展页表。7.如权利要求1至6中任一项所述的计算设备,其中,所述多条指令当由所述处理器执行时进一步使所述计算设备:由处于所述根虚拟化模式下的所述根管理程序响应于所述回调处理程序的执行而判定是否已经修改了所述非根管理程序的虚拟虚拟化支持对象;由处于所述根虚拟化模式下的所述根管理程序响应于确定已经修改了所述虚拟虚拟化支持对象而基于所述虚拟虚拟化支持对象来更新所述计算设备的虚拟化支持对象;以及由所述根管理程序响应于所述虚拟化支持对象的更新而恢复所述虚拟机的执行。8.如权利要求7所述的计算设备,其中,更新所述虚拟化支持对象进一步包括:由所述根管理程序来验证所述虚拟虚拟化支持对象的有效性。9.如权利要求7所述的计算设备,其中,所述多条指令当由所述处理器执行时进一步使所述计算设备:由所述非根管理程序响应于所述回调处理程序的执行而修改所述虚拟虚拟化支持对象;以及由所述非根管理程序响应于所述虚拟虚拟化支持对象的修改而生成所述虚拟虚拟化支持对象的变化列表;其中,判定是否已经修改所述非根管理程序的所述虚拟虚拟化支持对象包括:由所述根管理程序判定是否已经基于所述虚拟虚拟化支持对象的所述变化列表修改了所述虚拟虚拟化支持对象。10.如权利要求1至6中任一项所述的计算设备,其中,执行所述非根管理程序的所述回调处理程序包括:在所述处理器的所述非根虚拟化模式下执行所述非根管理程序的所述回调处理程序。11.如权利要求1至6中任一项所述的计算设备,其中,所述多条指令当由所述处理器执行时进一步使所述计算设备:由所述非根管理程序判定所述非根管理程序是否是在所述非根虚拟化模式下执行的;由所述非根管理程序响应于确定所述非根管理程序是在所述非根虚拟化模式下执行的而向所述根管理程序注册所述回调处理程序和所述相关联的触发条件;以及由处于所述根虚拟化模式下的所...

【专利技术属性】
技术研发人员:J·中岛A·K·马里克H·威帕特M·塔拉姆M·R·卡斯泰利诺
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1