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

文档序号:9929422阅读:来源:国知局
、内存MEM设备和内存总线,所述存储总线仅连接所述存储设备和所述PCPU,所述内存总线连接所述MEM设备和所述PCPU;所述PCPU运行第一机的第一数据,得到第二数据;所述搬移设备将所述第二数据通过所述存储总线分N次写入所述存储设备,N为小于第一阈值的正整数;所述存储设备存储所述第二数据;所述搬移设备通过所述存储总线从所述存储设备中分M次读取第二机的第三数据至所述PCHJ,M为小于第二阈值的正整数;其中,所述第一机为宿主机和虚拟机之一,所述第二机为所述宿主机和所述虚拟机中的另一个。
[0031]结合第二方面,在第二方面的一种实现方式中,所述系统还包括控制器,所述控制器扫描所述系统;当所述控制器扫描得到所述系统中存在所述存储设备的标识符、所述存储总线的标识符和所述搬移设备的标识符时,所述控制器根据所述存储设备的标识符、所述存储总线的标识符和所述搬移设备的标识符查找所述系统中是否存在分别与所述存储设备、所述存储总线和所述搬移设备相匹配的驱动程序。
[0032]结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述控制器在所述存储设备中为所述第一机分配第一初始化数据,所述第一数据为所述第一初始化数据。
[0033]结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述方法还包括:所述PCHJ运行所述第三数据,得到第四数据;所述搬移设备将所述第四数据通过所述存储总线分G次写入所述存储设备,G为小于第二阈值的正整数;所述存储设备存储所述第四数据;所述搬移设备通过所述存储总线从所述存储设备中分H次读取所述第二数据至所述PCPU,H为小于第二阈值的正整数。
[0034]结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述方法还包括:所述PCHJ运行所述第三数据,得到第四数据;所述搬移设备将所述第四数据通过所述存储总线分P次写入所述存储设备,P为小于第二阈值的正整数;所述存储设备存储所述第四数据;所述搬移设备通过所述存储总线从所述存储设备中分Q次读取第三机的第五数据至所述PCPU,Q为小于第二阈值的正整数,其中,所述第一机为虚拟机,所述第二机为宿主机,所述第三机为虚拟机。
[0035]结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,所述控制器在所述存储设备为所述第三机分配第二初始化数据,所述第五数据为所述第二初始化数据。
[0036]结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,M=I,N=1。
[0037]结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,M=I,N=1,G=1 ,H=10
[0038]结合第二方面及其上述实现方式,在第二方面的另一种实现方式中,M=I,N=1,P=1,Q=10
[0039]本发明实施例中虚拟机切换的方法可以参照第一方面虚拟机切换的系统中各个设备和/或器件的功能,为避免重复,在此不再赘述。
[0040]在本发明的一个实施例中,搬移设备通过存储总线实现PCPU和存储设备之间的数据的读写,存储总线是为PCPU和存储设备之间的数据传输单独设定的,可以采用N次搬移即完成传输PCHJ和存储设备之间需要传输的数据,从而可以避免现有技术中PCPU对第二数据进行多次传输才能实现宿主机和虚拟机之间的切换,从而能够提高虚拟机的切换速率。优选地,N= I。
[0041]本发明实施例的虚拟机切换系统对系统使用不受限制。例如,本发明实施例的虚拟机的切换系统可以用于英特尔(Intel)公司的X86平台,也可以用于国际商业机器公司(Internat1nal Business Machines Corporat1n,IBM)公司的PowerPC系列,还可以用于(Advanced RISC Machines,ARM)公司的CortexA57系列等各种平台。
【附图说明】
[0042]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1是本发明一个实施例的虚拟机切换的系统的示意性框图。
[0044]图2是本发明一个实施例的虚拟机切换系统中宿主机启动的示意性流程图。
[0045]图3是本发明一个实施例的虚拟机切换中虚拟机启动并进行虚拟机切换的示意性流程图。
[0046]图4是根据本发明实施例的虚拟机切换系统中虚拟机切换的示意性流程图。
【具体实施方式】
[0047]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0048]为了方便理解本发明实施例,首先在此介绍本发明实施例之前引入以下的几个要素。
[0049]宿主机(Host)作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟硬件平台;实现虚拟机的调度和隔离。其中,Host可能是虚拟机监控器(Virtual MachineMonitor,VMM)。或者,有时VMM和I个特权虚拟机配合,两者结合组成Host。其中,虚拟硬件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟CPU、内存、虚拟磁盘、虚拟网卡等等。其中,该虚拟磁盘可对应Host的一个文件或者一个逻辑块设备。虚拟机则运行在Host为其准备的虚拟硬件平台上,Host上可以运行一个或多个虚拟机。
[°°50] 虚拟机(Virtual Machine,VM)指通过虚拟机软件可以在一台物理计算机上模拟出一台或者多台虚拟的计算机。对于在虚拟机中运行的应用程序而言,这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作系统和应用程序,虚拟机还可访问网络资源。
[0051 ]寄存器(Cache)是CPU内部集成的,内存是挂在CPU外面的数据总线上的,访问内存时要在CPU的寄存器填上地址,再执行相应的汇编指令,这时CPU会在数据总线上生成读取或写入内存数据的时钟信号,最终内存的内容会被CHJ寄存器的内容写入或者被读入CPU的寄存器。
[0052]在服务器上可以运行宿主机,在宿主机上可以运行多台虚拟机。其中每个PCPU都可以运行多个虚拟机,也可以频繁轮换运行虚拟机数据和宿主机数据,从而频繁切换宿主机和虚拟机。
[0053]图1是本发明一个实施例的虚拟机切换的系统的示意性框图。本发明实施例的虚拟机切换的系统1可以包括存储设备11、存储总线12、物理中央处理器PCPU 13、搬移设备
14、内存MEM设备15和内存总线16。存储总线12仅连接存储设备11和所述PCPU 13,内存总线16连接MEM设备15和PCPU 13。
[0054]PCPU 13用于运行宿主机的第一数据得到第二数据。
[0055]搬移设备14用于将第二数据通过存储总线12分N次写入存储设备11,N为小于第一阈值的正整数。
[0056]存储设备11用于存储第二数据。
[0057]搬移设备14还用于通过存储总线从存储设备中分M次读取第二机的第三数据至PCPU,M为小于第二阈值的正整数,其中,第一机为宿主机和虚拟机之一,第二机为宿主机和虚拟机中的另一个。
[0058]本发明虚拟机切换的系统通过增加存储设备用于存储PCPU运行后的寄存器状态,并增加PCPU和存储设备之间的存储总线,使得PCPU和存储设备之间可以通过存储总线进行大块数据的读写操作,而不再是PCPU和内存之间多次进行小块数据的读写操作,这样能够提高虚拟机切换的效率。
[0059]优选地,M=I,N=1。这样能够进一步提高虚拟机切换的效率。
[0060]本发明实施例的虚拟机切换的系统还可以包括控制器,用来控制PCPU、存储设备、存储总线执行相应的功能。
[0061]本发明实施例中的第二数据用来表示第一机运行第一数据之后的寄存器的状态,例如,第二数据可以为寄存器的状态值。
[0062]上文结合图1介绍了本发明实施例的虚拟机切换的系统,下面结合图2至图4详细说明根据本发明实施例的虚拟机
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1