辅助计算机系统中多个管理程序的联合操作的系统和方法

文档序号:9750622阅读:587来源:国知局
辅助计算机系统中多个管理程序的联合操作的系统和方法
【技术领域】
[0001 ]本发明的一般地涉及信息处理,具体地,涉及计算虚拟化技术。更具体地涉及计算 机系统中多个管理程序(hypervisor)的联合操作。
【背景技术】
[0002] 现今的计算机系统看到了日益增加的各种应用程序中的虚拟化技术的使用一无 论在大数据中心还是在个人计算中。虚拟化支持如在单个计算机系统上运行多个操作系 统、最大化利用可用硬件资源这样的配置。例如,个人计算机的用户可以利用多个虚拟机, 用于在其单个机器上的不同的操作系统中同步执行各种应用程序。更多的时候,在大容量 的服务器上发现虚拟化,诸如当提供主机托管服务时的那些服务器。
[0003] 虚拟机的操作一般需要使用管理程序,其协调虚拟机的执行,充当虚拟机的管理 器或分派器。通常,管理程序还称为虚拟机监控程序(VMM)。
[0004] 如果计算机系统有多个管理程序,有必要恰当地协调它们的操作。一般由其设计 提供虚拟机管理程序的联合操作:当管理程序控制了计算平台时,处理器的状态(即保护 环)临时改变,并且在管理程序的动作完成之后,处理器返回到其初始状态。例如,在 windows操作系统中,如果同步操作来自不同制造商的数个虚拟机,那么调度程序会以针对 操作系统中的通常的线程同样的方式来分配时间用于管理程序的执行(例如考虑各个线程 的优先级)。管理程序代码本身根据某一时间量的到期来正确完成其执行;然而应该注意到 该时间量并不是必须和由0S的调度程序分配的时间量一致。
[0005] 在将要同时使用多个管理程序的系统中,常规的多任务技术可能不能有效工作, 并且在最坏情况下它们甚至不会有效工作。当在多个管理程序中存在这样的管理程序:其 以比另一个管理程序的优先级高的优先级执行时,那些问题进一步恶化。例如,在持续管理 程序用于执行非常重要的虚拟机而伴随有一个或多个非持续管理程序的情况下,常规的多 任务技术保证持续管理程序的正确持续操作存在困难。另一个问题在于,其他的常规管理 程序可能没有意识到持续管理程序的存在,并且可能在管理程序模式下试图抢占的处理器 上的执行时使操作系统崩溃。因此需要辅助多个管理程序的有效和高效的同步执行的解决 方案。

【发明内容】

[0006] 本发明的一个方面涉及用于协调多个管理程序的联合操作的专用系统。系统是包 括计算平台的专用机器,所述计算平台具有处理器、数据存储和输入/输出设备,所述处理 器可在管理程序模式和监管员程序模式之间切换,管理程序模式提供比监管员程序模式更 高的优先权级别。计算平台包含指令,当所述指令被执行时使得计算平台实现持续管理程 序和非持续管理程序、配置为协调监管员程序模式下非持续管理程序的操作的调度程序引 擎、配置为协调管理程序模式下持续管理程序的操作的处理程序引擎。
[0007] 处理程序引擎监控并响应处理器在管理程序模式和监管员程序模式之间的企图 模式转换。响应于从管理程序模式到监管员程序模式的企图模式转换,处理程序引擎挂起 对持续管理程序的执行,包括保存处理器的状态,并且将处理器转换为在监管员程序模式 下执行非持续管理程序。响应于监管员程序模式指令的执行的终结,处理程序引擎挂起对 非持续管理程序的执行,包括保存处理器状态,并且将处理器转换为在管理程序模式下执 行持续管理程序。
【附图说明】
[0008] 结合附图参考本发明的各种实施例的以下详细描述可更完整地理解本发明,其 中:
[0009] 图1是示出了多个管理程序在其上操作的常规操作系统的一部分的示图,包括持 续管理程序和一个或多个非持续管理程序。
[0010]图2A是示出了根据一个实施例的、保证多个管理程序在系统中的执行的系统的示 图。
[0011]图2B是示出了根据一个实施例的、处理程序引擎的示例性体系架构的示图。
[0012]图3是示出了根据一个实施例的、图2A-图2B中所示系统的操作过程。
[0013] 图4是示出了成为专用机器的计算机系统的示图,所述专用机器具有根据本发明 的方面的实现的改善功能。
[0014] 虽然本发明可修正为各种修改和替代形式,但其细节已在图中通过示例的方式示 出,并将进行详细描述。然而,应予以理解的是,不旨在将本发明限于所描述的特定实施例。 相反,旨在覆盖落入由附加权利要求所定义的本发明的精神和范围内的所有修改、等同物 以及替代物。
【具体实施方式】
[0015] I术语词汇
[0016] 以下术语词汇阐述了本文中使用的术语的定义。该术语词汇不仅用于本申请。
[0017] "计算平台"、"计算机"和"计算机系统"一可互操作的电子器件的电子设备或系 统,包含硬件,所述硬件包括一个或多个处理器、数据存储器、输入-输出设备;以及可根据 由硬件实施的软件指令存储和操纵的信息。它可以是一个物理机器,或者分布在多个物理 机器中,例如通过角色或功能,或者在云计算分布式模型的情况下通过处理线程。示例包括 台式机或移动个人计算机(PC)、智能手机和平板电脑,以及网络设备诸如路由器、交换机 等。计算平台可以是独立的设备或是作为较大的设备或系统的一部分的嵌入式设备。
[0018] "数据存储"一在物理存储介质上存储数据的一个或多个电子硬件设备。示例包括 易失性存储(例如随机存取存储器(RAM),无论静态或动态)、非易失性存储(例如电子可擦 除可编程只读存储器、磁盘等)。
[0019] "驱动程序"一引擎或组件,其就像诸如磁盘驱动器的设备与诸如操作系统壳 (shell)的使用设备的程序之间的翻译器。驱动程序通常接受来自程序的通用命令并且随 后将其翻译为用于设备的专用命令。
[0020] "引擎"一使用硬件、或者作为硬件或软件的组合实现的真实的设备、组件或组件 的布置,例如通过微处理器系统和适配引擎以实现特定功能的程序指令集,其(被执行时) 将微处理器转换为专用设备。引擎也可以实现为两者的组合,具有某些由硬件单独实现的 功能,以及由软件控制的硬件的组合辅助的其他功能。在某些实现方案中,至少部分引擎或 者在一些情况下全部引擎可以在执行操作系统、系统程序和应用程序的一个或多个计算机 的处理器上执行,同时也使用多任务、多线程、分布式(例如集群、点对点、云等)处理、合适 的或其他这样的技术来实现引擎。此外,引擎本身可以包括一个以上的子引擎,其每一个可 以看作独立的引擎。
[0021] "管理程序"一也称为虚拟机监控程序(VMM),是可由处理器执行的程序,其协调虚 拟机的执行并充当虚拟机的管理器或虚拟机的分派器。管理程序呈现采用虚拟操作平台的 访客操作系统或系统程序,并且管理访客操作系统或系统程序的执行。程序系统或其他系 统软件的多个实例可以共享虚拟化硬件资源。
[0022] "管理程序模式"一与甚至高于监管员模式的优先权级别相关联的处理器模式。管 理程序模式一般提供专用指令,其辅助一个或多个管理程序防止每个均在监管员模式下执 行的不同的操作系统或其他系统程序彼此影响的能力。一般,在系统中监管员程序模式指 定为保护环〇,管理程序模式指定为保护环-1
[0023] "输入/输出设备"或"输入/输出设施"一计算机系统的电子硬件部分,其辅助信息 流入和流出计算机系统。示例包括网络接口设备、监视器、键盘、鼠标、打印机、串行端口等。 [0024] "持续管理程序" 一在其操作的常规过程中被期望执行为操作系统或其他基本程 序的活跃的不间断的进程的管理程序。该持续的操作规程不同于周期性的或非持续的规 程,在周期性的或非持续的规程中管理程序偶尔用于特定任务,在任务结束后周期性管理 程序可以关闭,而持续管理程序却保持运行。持续管理程序的示例包括要求不间断执行特 别重要的虚拟机的管理程序,或者要求保证和安全相关的操作诸如反病毒进程的执行的管 理程序。
[0025] "处理器"一计算机系统的电子硬件部分,其通过实施系统的基本的算术的、逻辑 的、临时的存储和输入/输出操作来实施计算机程序的指令。典型地,处理器实现为微处理 器(即,集成在单芯片上),虽然该定义包括在多个互连的集成电路上实现的处理器电路。如 今的处理器典型地包括多个处理核并且可以在多个处理核之间分布工作负载。
[0026] "处理器模式"一也称为"权限级别",是用于一些计算机体系架构的处理器的操作 规程,其选择性地对由处理器运行的某些进程所执行的操作的类型和方面设置一个或多个 限制。例如,高信任度的内核代码以及在某些情况下高信任度的驱动程序或其他系统程序 被允许在称为监管员程序模式的不受限制(或相对较少限制)的模式下执行;而其他进程 (包括操作系统的非监管员部分)在称为用户模式的相对较多限制的模式下执行,并且必须 使用系统调用以请求更受信任的内核代表其实施受限制的操作。处理器模式支持保护环体 系架构。
[0027] "保护环" 一在计算机系统的体系架构中的两个或两个以上的权限的分层级别或 层次。这通常通过在硬件或微代码级别提供不同的处理器模式的一些架构体系硬件强制实 施。例如,传统上已经在从最高权限(最受信任,通
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1