虚拟机切换的系统和方法_3

文档序号:9929422阅读:来源:国知局
切换系统的宿主机、虚拟机启动并完成切换的示意性流程图。图1系统中的各个装置或设备可以执行图2至图4流程图中相应装置或设备的具体步骤。
[0063]图2是本发明一个实施例的虚拟机切换系统中宿主机启动的示意性流程图。本发明实施例的宿主机启动流程可以为根据本发明实施例对虚拟机切换之前,宿主机首次启动的流程图。本发明实施例的虚拟机切换的系统可以包括物理中央处理器PCPU、存储设备、存储总线、搬移设备、内存设备、内存总线和控制器。其中,存储总线用来仅连接存储设备和PCPU,其可以为存储设备和PCPU之间进行数据读写提供传输通道。内存总线和内存设备可以为现有技术中PCHJ原有的内存和总线。内存总线可以为内存设备和PCPU之间进行数据读写提供传输通道。搬移设备可以用于实现存储设备和PCPU之间读写数据时的数据搬移。存储设备可以用于存储PCPU对宿主机数据和虚拟机数据运行后寄存器的状态。寄存器的状态可以体现当前指令执行结果的各种状态信息,例如,有无进位、有无溢出、结果正负、结果是否为零、奇偶标志位、允许中断、跟踪标志、异常处理配置信息等。
[0064]201,宿主机准备启动。
[0065]虚拟机切换系统要进行虚拟机的切换,首先需要启动整个系统。本发明实施例对虚拟机切换系统做了改进,因此,整个系统的启动过程时也会与现有技术不同。宿主机作为管理层,用以完成硬件资源的管理、分配,并为虚拟机呈现虚拟硬件平台,实现虚拟机的调度和隔离。所以,启动系统先要准备启动宿主机。
[ΟΟ??] 202,基本输入输出系统扫描虚拟机切换系统。
[0067]基本输入输出系统(Basic Input Output System,B10S)是一组固化到计算机内主板上一个只读存储器(Read Only Memory,R0M)芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序、菜单程序。其主要功能是为计算机提供最底层的、最直接的硬件设置、控制和访问。
[0068]本发明实施例中,B1S可以通过固件扫描虚拟机切换系统,并发现系统中的辅助硬件。这里的辅助硬件包括该切换系统新增加的存储设备、存储总线和控制器。B1S为扫描到的硬件分配地址空间,并向宿主机的操作系统提供扫描到的硬件及其对应的地址空间的目录索引。
[0069]203,控制器检测其辅助硬件是否支持固化逻辑。
[0070]控制器的部分逻辑可以在宿主机上执行,控制器可以检测宿主机的操作系统的目录索引中的辅助硬件是否支持固化逻辑。例如,可以通过检测系统中是否存在辅助硬件的硬件名称相对应的辅助硬件标识符和相匹配的驱动程序。当控制器扫描得到系统中存在存储设备的标识符、存储总线的标识符和搬移设备的标识符时,控制器还用于根据所储设备的标识符、存储总线的标识符和搬移设备的标识符查找系统中是否存在分别与存储设备、存储总线和搬移设备相匹配的驱动程序。
[0071]当存在对应的辅助硬件标识符和相匹配的驱动程序时,认为该辅助硬件支持固化逻辑,即该辅助硬件可以使用。
[0072]另外,控制器还可以通过B1S提供的描述表获取辅助硬件的地址空间、硬件大小等信息,完成固件的初始化。
[0073]204,固件辅助标签设为预设值。
[0074]当步骤203判断得到系统中的辅助硬件都支持固化逻辑时,可以将系统置位,例如将系统标签赋值为预设值(例如I),表示该系统可用。
[0075]在本发明的另一个实施例中,当步骤203判断得到系统中的辅助硬件都支持固化逻辑时,可以将控制辅助硬件的控制器的标签均赋值为1,表示新增加辅助硬件之后的系统可用。
[0076]步骤204为本发明实施例的可选步骤,也可以在在步骤203得到辅助硬件支持固化逻辑时,直接进行步骤205。
[0077]205,宿主机的操作系统正常初始化。
[0078]当步骤203判断得到系统中的辅助硬件不全都支持固化逻辑时,流程进行到步骤205,宿主机的操作系统正常的按照现有技术中不包括辅助硬件的初始化过程进行初始化。
[0079]206,宿主机的操作系统初始化,并加载辅助硬件的驱动程序。
[0080]当系统中的辅助硬件均支持固化逻辑时,可以对宿主机的操作系统进行初始化。可以在系统初始化后,在系统中加载辅助硬件的驱动程序,以使得可以正常启动和使用辅助硬件。
[0081]207,为宿主机分配初始化数据、资源和空间索引。
[0082]宿主机初始化之后,控制器可以在PCPU上为宿主机分配初始化数据,还可以在存储设备上为宿主机分配宿主机资源和宿主机空间索引。宿主机资源可以用于为宿主机存储写入存储设备中数据。宿主机空间索引可以为所主机资源的标识符。控制器可以根据该标识符找到宿主机资源,将宿主机运行后的数据存储到宿主机资源中。
[0083]208,启动宿主机。
[0084]在辅助硬件不支持固化逻辑,步骤205宿主机按照现有技术中的初始化过程进行初始化时,流程可以直接进行到步骤208,启动宿主机。此时,该系统中的辅助硬件不可用,不能使用本发明实施例的虚拟机的切换方法进行虚拟机切换。
[0085]在辅助硬件支持固化逻辑,步骤204至步骤207加载辅助硬件驱动程序并为宿主机分配初始化数据、资源和空间索引后,流程进行到步骤208,启动宿主机。此时,整个系统中的辅助硬件均可以用来为本发明实施例的虚拟机的切换提供硬件支持。
[0086]209,宿主机启动结束。
[0087]在本发明的虚拟机切换系统启动时,可以按照图2所示流程图的步骤201至步骤209启动宿主机,步骤201至步骤209在首次启动虚拟机时执行。且当本发明实施例的虚拟机切换系统中包括辅助硬件时,流程可以按照步骤201-204,206-209执行。而只有在本发明实施例的切换系统不可用时,流程可以直接在步骤204进入步骤205按照现有技术来启动宿主机,以使得本发明的切换系统兼容现有的切换系统。在宿主机启动之后,由宿主机到虚拟机的切换或者由虚拟机到宿主机的切换时不需要再执行图2的流程。
[0088]在本发明的虚拟机切换系统中,首先要启动宿主机,此时需要对本发明的切换系统进行初始化并为新增加的硬件加载驱动程序,这样后续虚拟机切换时可以使用新增加的存储设备存储数据,使用新增加的存储总线进行数据传输,使用新增加的搬移设备在PCPU和存储设备之间实现数据搬移。
[0089]下面结合图3具体说明宿主机启动之后,根据本发明实施例的虚拟机的启动流程以及虚拟机的切换流程。
[0090]图3是本发明一个实施例的虚拟机切换中虚拟机启动并进行虚拟机切换的示意性流程图。本发明实施例的虚拟机切换的系统可以包括物理中央处理器PCPU、存储设备、存储总线、搬移设备、内存设备、内存总线和控制器。其中,存储总线用来仅连接存储设备和PCPU,其可以用于为存储设备和PCPU之间进行数据读写提供传输通道。内存总线和内存设备可以为现有技术中PCPU原有的内存和总线。内存总线可以为内存设备和PCPU之间进行数据读写提供传输通道。搬移设备可以用于实现存储设备和PCPU之间读写数据时的数据搬移。存储设备可以用于存储PCHJ对宿主机数据运行后寄存器的状态。
[0091]301,PCPU运行宿主机的数据。
[0092]PCPU可以运行宿主机的数据,也可以运行虚拟机的数据,但同一时刻,PCPU仅可以运行宿主机数据,或仅运行虚拟机的数据。
[0093]PCPU运行宿主机的数据之后,可以将运行结果通过存储总线写入存储设备的宿主机资源中,以便存储设备保存该运行结果。
[0094]302,虚拟机准备启动。
[0095]宿主机的数据在PCPU运行之后,虚拟机可以准备启动。虚拟机启动之后,当虚拟机的数据在PCPU运行时,PCPU可以通过搬移设备从存储设备中读取虚拟机的初始化数据,并运行该数据。这样,搬移设备通过将宿主机运行后的数据写入存储设备并读取存储设备中存储的虚拟机数据,从而可以实现由宿主机向虚拟机的切换。具体的切换流程在后续的流程中详细介绍,步骤302仅为准备启动虚拟机。
[0096]303,控制器检测辅助硬件标签是否为预设值。
[0097]控制器检测辅助硬件标签是否为预设值。例如,检测辅助硬件存储设备、存储总线和搬移设备是否已置位,即辅助硬件
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1