虚拟化计算中的存储器管理的制作方法

文档序号:11160900阅读:540来源:国知局
虚拟化计算中的存储器管理的制造方法与工艺

本公开涉及计算领域,特别涉及与虚拟化计算中的存储器管理相关联的装置、方法和存储介质。



背景技术:

本文提供的背景技术描述是为了一般地呈现本公开的上下文的目的。除非本文另有说明,本部分中描述的材料不是本申请中的权利要求的现有技术,并且不由于包括在本部分中而被承认是现有技术。

在虚拟化环境中,在创建虚拟机(VM)时,主机系统通常为VM分配足够的存储器。通常,分配的存储器未被VM完全使用。已经开发了各种存储器节省技术来释放VM的未使用的存储器以用于分配给其他VM,以改进整体系统存储器使用效率,并且进而改进整体系统性能。然而,到目前为止还没有被开发用于释放VM的已用存储器以进一步改进系统存储器使用和性能的有效方法。

附图说明

通过以下结合附图的详细描述将容易理解实施例。为了促进该描述,相同的参考数字表示相同的结构元件。在附图的图中,通过示例的方式而非限制的方式示出了实施例。

图1示出根据各种实施例的结合有用于本公开的虚拟化计算的存储器管理的计算设备的硬件/软件视图。

图2示出根据各种实施例的用于在虚拟化计算中管理存储器的方法的过程视图。

图3示出了根据各种实施例的用于在虚拟化计算中管理存储器的方法的图形视图

图4示出了根据各种实施例的适于实践本公开的示例计算机系统的部件视图。

图5示出根据各种实施例的具有被配置为使计算设备能够实践本公开的指令的示例存储介质。

具体实施方式

本文公开了与虚拟化计算中的存储器管理相关联的装置、方法和存储介质。 在实施例中,一种装置可以包括:虚拟机管理器,用于管理多个虚拟机的操作,具有存储器管理器,用于管理物理存储器到多个虚拟机和从多个虚拟机的分配和解除分配(de-allocation)。分配和解除分配可以包括分配给多个虚拟机中的第一个的未使用和使用的物理存储器的解除分配以恢复物理存储器用于到多个虚拟机中的一个或多个其他虚拟机的分配,以及用于第一虚拟机的先前解除分配的未使用和使用的物理存储器的物理存储器的重新分配。结果,对于给定量的物理存储器可以支持更多的虚拟机,或者可能需要更少的存储器来支持给定数量的虚拟机。

在实施例中,本文所公开的存储器管理技术可以由被配置为托管多个虚拟机的云计算服务器使用,或者由被配置为与多个操作系统一起操作的移动设备使用,多个操作系统例如是被配置为支持电话或平板计算的操作系统,诸如AndroidTM,以及被配置为支持膝上型计算的另一操作系统,诸如Windows®。

在下面的详细描述中,参考形成其一部分的附图,其中相同的数字始终表示相同的部件,并且其中通过示例的方式示出了可以实施的实施例。应当理解,在不脱离本公开的范围的情况下,可以利用其他实施例,并且可以进行结构或逻辑改变。因此,以下详细描述不应在限制意义上理解,并且某些实施例的范围由所附权利要求书及其等同物限定。

各种方法的操作可以以最有助于理解所要求保护的主题的方式依次被描述为多个离散动作或操作。然而,描述的顺序不应被解释为暗示这些操作必须是顺序相关的。特别地,这些操作可以不按照呈现的顺序执行。所描述的操作可以以与所描述的实施例不同的顺序来执行。可以在附加实施例中执行各种附加操作和/或可以省略、分割或组合描述的操作。

为了本公开的目的,短语“A和/或B”意指(A)、(B)或(A和B)。为了本公开的目的,短语“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A,B和C)。

该描述可以使用短语“在一个实施例中”或“在实施例中”,其每个都可以指代相同或不同实施例中的一个或多个。此外,如关于本公开的实施例使用的术语“包括”、“包含”、“具有”等是同义的。

如下文中包括权利要求所使用的,术语“模块”可以指代专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享的、专用的或群组的)和/或存储器(共享的、专用的或群组的)、组合逻辑电路和/或提供所描述的功能的其他合适的部件、它们的一部分或包括它们。

图1示出根据各种实施例的结合有用于本公开的虚拟化计算的存储器管理的计算设备的软件视图。如图所示,计算设备200可以包括物理平台硬件201,其可以包括但不限于物理硬件元件,诸如微处理器222、芯片组224、存储器225、固态存储介质226、输入/输出设备228等等。微处理器222中的一个或多个可以是多核的。芯片组224可以包括但不限于存储器控制器等等。存储器225可以包括但不限于动态随机存取存储器(DRAM)。固态存储介质226可以包括但不限于采用可从加利福尼亚州圣克拉拉的Intel公司获得的快速存储技术(RST)的存储设备。输入/输出设备228可以包括但不限于键盘、光标控制设备、触摸屏、有线和/或无线通信接口。

软件元件202可以包括被配置为管理由计算设备200托管的多个虚拟机,例如,212和214的操作的虚拟机管理器(VMM)206。VMM 206可以包括存储器管理器208以管理支持虚拟机212/214的虚拟存储器空间的物理存储器225到虚拟机212/214的分配和解除分配。另外,存储器管理器208可以被配置为管理虚拟机212/214的虚拟存储器空间的虚拟地址到物理存储器225的物理地址的映射,以促进访问存储器225内的存储器位置。在实施例中,存储器225的存储器位置可以以页为单位进行组织和管理,并且存储器管理器208可以配置有页表(未示出)以管理存储器225的资源的分配/解除分配,以及控制对所分配的资源的访问。此外,存储器管理器208可以配置有存储器管理技术,其减少了对于给定服务级别需求支持多个虚拟机212/214所需的存储器225的量,或者对于给定量的存储器225以服务级别需求支持更多的虚拟机212/214,这将在下面进一步描述。

每个虚拟机212/214可以包括操作系统(OS)204。每个虚拟机212/214的OS 204可以是相同的或不同的。每个OS 204可以包括固件236、设备驱动234和应用232。固件236可以被配置为提供基本的系统输入/输出服务,包括但不限于在OS 204的操作之前用于虚拟机212/214的操作的基本服务。OS 204的示例可以包括但不限于可从加利福尼亚州山景城的Google公司获得的AndroidTM或可从华盛顿州雷德蒙市的微软公司获得的Windows®。设备驱动234的示例可以包括但不限于视频驱动、网络驱动、盘驱动等。应用232的示例可以包括但不限于web服务、因特网门户服务、搜索引擎、社交网络、新闻服务、游戏、文字处理、电子表格、日历、电话、成像等。

虽然为了便于理解,在图1中仅示出了两个虚拟机,但是本公开不限于此,并且对于本领域技术人员而言从整个描述中清楚的是,本公开可以被实现有计算设备200,其托管两个或更多个虚拟机中的任意数量的虚拟机,其仅受硬件元件和要执行的应用的容量的限制。一方面,计算设备200可以是被配置为操作两个操作系统的移动设备。在另一方面,计算设备200可以是被配置为支持数百个或甚至更多个虚拟机的计算云中的高端服务器。被配置为操作两个操作系统的移动设备的示例可以包括但不限于被配置为当操作为计算平板或移动电话时与一个OS,例如AndroidTM,一起操作的移动设备,或者当作为膝上型计算机操作时与另一个OS,例如Windows®,一起操作的移动设备。

继续参考图1,在实施例中,VMM 206可以被配置为监视虚拟机212/214的相应状态转变。例如,VMM 206可以被配置为监视虚拟机212/214是否正从活动状态转变到较不活动或空闲的状态,活动状态诸如是虚拟机212/214内的至少一个应用232正在活动地执行的状态。构成较不活动状态的可以是实现相关的,这取决于实现是否希望积极地或不太积极地管理解除分配/重新分配。最不积极的方法将是基于虚拟机212/214进入或离开空闲状态来管理解除分配/重新分配,空闲状态即虚拟机212/214内的应用232和OS 204正在等待工作的状态。在实施例中,虚拟机212/214可以在其处于活动状态时在前台操作,其中它被给予优先级、路由中断(routed interrupt)等等,并且当虚拟机212/214处于空闲状态时可以在后台操作,其中它没有被给予优先级,也没有路由中断。虚拟机212和214可以根据活动性和/或系统事件在前台和后台之间来回切换。用于平板/膝上型计算机的系统事件的示例可以是平板/膝上型计算机的键盘部分从/向平板/膝上型计算机的显示部分分离或附接。

在实施例中,VMM 206可以被配置为响应于确定虚拟机212/214从活动状态转变到低活动性状态或空闲状态而请求存储器管理器208对虚拟机212/214的未使用和使用的存储器解除分配。此外,VMM 206可以被配置为响应于确定虚拟机212/214从低活动性或空闲状态转变到活动状态而请求存储器管理器208向虚拟机212/214重新分配存储器以替换虚拟机212/214的先前解除分配的未使用和使用的存储器。

在实施例中,为了促进虚拟机212/214的未使用的存储器的解除分配和存储器的重新分配以补充虚拟机212/214的先前解除分配的未使用的存储器,存储器管理器208可以被配置为包括相关联的驱动,并且使得该相关联的驱动被安装在虚拟机212/214的OS 204中(例如,作为设备驱动234之一)。在实施例中,相关联的驱动234可以预先安装在OS 204中。在其他实施例中,相关联的驱动234可以在OS 204的实例化时实时地安装在OS 204中。在实施例中,为了便于虚拟机212/214的所使用的存储器的解除分配和针对虚拟机212/214的先前解除分配的已使用存储器的存储器的重新分配,VMM 206可以被配置为包括存储器池210。在实施例中,存储器池210可以是配置为块设备。

在实施例中,VMM 206可以是从固件运行的第一第三方驱动,特别是配置有统一可扩展固件接口(UEFI)的固件。

为了进一步描述相关联的驱动234和存储器池210的使用,现在还参考图2,其中示出了根据各种实施例的用于管理虚拟化计算中的存储器分配/解除分配的方法的过程视图。如图所示,用于管理虚拟化计算中的存储器分配/解除分配的过程250可以包括在框252-260中执行的操作。操作可以例如由图1的存储器管理器208执行。

过程250可以在框252开始。在框252,可以例如由存储器管理器208关于所接收的存储器管理请求是要解除分配分配给虚拟机212/214的存储器还是针对先前解除分配的存储器重新分配存储器给虚拟机212/214进行确定。如果请求是解除分配分配给虚拟机212/214的存储器,则过程250可以进行到框254。另一方面,如果请求是针对先前解除分配的存储器将存储器重新分配给虚拟机212/214,则过程250可以进行到框258。

在框254,虚拟机212/214的未使用的存储器可以被释放,即,解除分配,并且被使得可用于分配给由计算设备200托管的其他虚拟机212/214。对于作为解除分配过程的部分的、先前描述的有具有相关联的驱动234的存储器管理器208的实施例,例如存储器管理器208可以向OS 204做出请求以将映射到虚拟机212/214的未使用的存储器的虚拟存储器分配给相关联的驱动234。在接收到已经分配给驱动234的虚拟机212/214的虚拟存储器的标识时,可以更新存储器分配/映射表,以反映用于分配给由计算设备200托管的其他虚拟机212/214的恢复的存储器的可用性。在实施例中,被释放的未使用的存储器的量可以以存储器管理器208的判断(at the discretion)而变化。换句话说,存储器管理器208可以例如通过其使得被安装的特定驱动234来断定可用的未使用的存储器的量,并请求所有或一部分被分配/释放。从框254,过程250可以进行到框256。

在框256,虚拟机212/214的所使用的存储器可以被部分释放,即,部分地解除分配,并且被使得可用于分配给由计算设备200托管的其他虚拟机212/214。更具体地,作为解除分配过程的部分,存储器池210的一部分可以被分配给虚拟机212/214,以替换(交换)虚拟机212/214的所使用的存储器。被交换的所使用的存储器中的数据可以被压缩并且被复制到存储器池210的该部分中,从而允许虚拟机212/214的所使用的存储器被释放用于分配给由计算设备200托管的其他虚拟机212/214。通常,借助于压缩,存储器池210中的(换入(swap in))区域将小于被解除分配的所使用的存储器。减少的量可以取决于所采用的具体压缩技术。

从框256,过程可以终止。

在框258,可以补充虚拟机212/214的先前部分解除分配的已使用存储器。更具体地,作为重新分配过程的一部分,可以将存储器225的新区域分配给正被恢复的虚拟机212/214,以替换(交换)虚拟机212/214的所使用的存储器。所使用的存储器中的数据可以被解压缩,并且被复制到新分配给虚拟机212/214的存储器225的新区域中,从而恢复所使用的存储器中的数据,使得虚拟机212/214能够恢复操作。通常,被分配(换入)的存储器225的新区域将大于被替换(换出(swap out))的区域。从框258,过程250可以进行到框260。

在框260,可以恢复,即,重新分配,虚拟机212/214的先前解除分配的未使用的存储器。对于作为重新分配过程的一部分的先前描述的有具有相关联的驱动234的存储器管理器208的实施例,除了更新存储器分配/映射表之外,还可以例如通过存储器管理器208向OS 204做出请求,以从相关联的驱动234取消分配(un-assign)映射到虚拟机212/214的未使用的存储器的虚拟存储器,从而允许虚拟机212/214的未使用的存储器对于虚拟机212/214的应用232或OS 204的使用可用。

从框260,过程可以终止。

图3示出了根据各种实施例的用于虚拟化计算的存储器管理技术的图形视图。如图3的上部所示,并且如前所述,在第一状态,例如,活动状态,虚拟机可以具有存储器300,其一部分被使用,即,使用的存储器302,并且一部分未使用,即,未使用的存储器304。为了从虚拟存储器恢复存储器,例如通过先前描述的相关联的驱动分配技术312首先释放未使用的存储器304。如图3的中间部分中所示,在未使用的存储器304的恢复时,分配给虚拟机的存储器的总量减少。

此后,通过例如先前描述的压缩和交换技术314,所使用的存储器302的一部分也被释放。如图3的下部所示,在所使用的存储器302的部分恢复时,分配给虚拟机的存储器的总量进一步减少。

当先前解除分配的已使用和未使用的存储器302和304被补充时,该过程逆转,其中首先恢复使用的存储器302,然后是未使用的存储器304,从图3的下部到图3的上部运行。

在本公开对具有AndroidTM和Windows®的双OS计算设备的示例应用中,观察到潜在的相当的节省。在初始化时,Windows®创建在AndroidTM的顶部,其中1GB的存储器分配给Windows®,并且使用大约450MB。当未主动使用Windows®时,首先释放~500MB的未使用的存储器,并使其可用于AndroidTM,如前所述的那样。此后,可以如前所述的那样进一步释放450MB所使用的存储器中的另一〜300MB,从而导致几乎800MB的存储器被释放以供AndroidTM使用来改进其性能。

现在参考图4,其中示出了根据各种实施例的适用于图1的布置的示例计算机。如图所示,计算机400可以包括一个或多个处理器或处理器核402和系统存储器404。在实施例中,多个处理器核402可以设置在一个管芯上。为了包括权利要求书的本申请的目的,术语“处理器”和“处理器核”可以被认为是同义的,除非上下文另有明确要求。另外,计算机400可以包括(一个或多个)大容量存储设备406(诸如磁盘、硬盘驱动器、光盘只读存储器(CD-ROM)等)、(一个或多个)输入/输出设备408(诸如显示器、键盘、光标控制等)和通信接口410(诸如网络接口卡、调制解调器等)。在实施例中,显示单元可以是触摸屏敏感的并且包括显示屏、一个或多个处理器、存储介质和通信元件,此外,其可以可移除地对接或脱离具有键盘的基础平台。元件可以经由系统总线412彼此耦合,系统总线412可以表示一个或多个总线。在多个总线的情况下,它们可以通过一个或多个总线桥(未示出)桥接。

这些元件中的每一个可以执行其在本领域中已知的常规功能。具体地,系统存储器404和(一个或多个)大容量存储设备406可以用于存储实现前述操作的编程指令的工作副本和永久副本,前述操作例如但不限于与VMM 206(包括存储器管理器208)相关联的操作,表示为计算逻辑422。各种元件可以由(一个或多个)处理器402支持的汇编指令或可编译为这样的指令的高级语言,诸如例如C,来实现。

编程指令的永久副本可以在工厂中或在现场通过例如分发介质(未示出),诸如光盘(CD),或通过通信接口410(从分发服务器(未示出))被放置到(一个或多个)永久大容量存储设备406中。也就是说,可以采用具有代理程序的实现的一个或多个分发介质来分发代理和对各种计算设备进行编程。

这些元件410-412的数量、能力和/或容量可以根据示例计算机400的预期用途而变化,示例计算机400的预期用途例如计算机400是智能电话、平板计算机、超极本、膝上型计算机还是服务器。这些元件410-412的构造另外是已知的,并且因此将不进一步描述。

图5示出了根据各种实施例的具有被配置为实施先前描述的与VMM 206(包括存储器管理器208)相关联的操作中的全部或所选操作的指令的示例非瞬时计算机可读存储介质。如图所示,非瞬时计算机可读存储介质502可以包括多个编程指令504。编程指令504可以被配置为使得设备,例如计算机400,能够响应于编程指令的执行而分别执行例如,与图1的VMM 206(包括存储器管理器208)相关联的各种操作或图2的方法250的各种操作。在替代实施例中,程序指令504可以替代地设置在多个非瞬时计算机可读存储介质502上。在其他实施例中,编程指令504可以编码在瞬时计算机可读信号中。

返回参考图4,对于一个实施例,处理器402中的至少一个可以与具有计算逻辑422(代替存储在系统存储器404和/或大容量存储设备406中)的存储器封装在一起,计算逻辑422被配置为实践与图1的VMM 206(包括存储器管理208)相关联的操作中的所有或选择的操作或图2的过程250的方面。对于一个实施例,处理器402中的至少一个可以与具有计算逻辑422的存储器封装在一起以形成系统级封装(SiP)。对于一个实施例,处理器402中的至少一个可以与具有计算逻辑422的存储器集成在相同管芯上。对于一个实施例,处理器402中的至少一个可以与具有计算逻辑422的存储器封装在一起以形成片上系统(SoC)。对于至少一个实施例,SoC可以用在例如但不限于混合计算平板/膝上型计算机中。

因此,已经描述了用于虚拟化计算的管理存储器的实施例。示例实施例可以包括:

示例1可以是一种用于虚拟化计算的装置。所述装置可以包括:一个或多个处理器;与所述一个或多个处理器耦合的物理存储器;以及虚拟机管理器。虚拟机管理器可以由一个或多个处理器操作以管理多个虚拟机的操作,具有存储器管理器来管理物理存储器到和从多个虚拟机的分配和解除分配,其可以包括:分配给所述多个虚拟机中的第一个的未使用和使用的物理存储器的解除分配,以恢复物理存储器用于分配给所述多个虚拟机中的其他一个或一些虚拟机,以及物理存储器的重新分配以补充第一虚拟机的之前解除分配的未使用和使用的物理存储器。

示例2可以是示例1,其中存储器管理器可以响应于请求来执行解除分配或重新分配。

示例3可以是示例2,其中虚拟机管理器可以响应于确定第一虚拟机正在进入或离开特定状态而做出请求。

示例4可以是示例3,其中虚拟机管理器可以响应于确定第一虚拟机正在进入或离开空闲或后台状态而做出请求。

示例5可以是示例3,其中虚拟机管理器可以进一步监视多个虚拟机的状态转变。

示例6可以是示例1-5中的任一个,其中存储器管理器还可以使得驱动被安装在第一虚拟机的操作系统中,并请求操作系统向驱动分配第一虚拟机的未使用的虚拟存储器地址,作为未使用的物理存储器从第一虚拟机的解除分配的部分。

示例7可以是示例6,其中存储器管理器还可以请求操作系统取消分配分配给驱动的第一虚拟机的虚拟存储器地址,作为针对第一虚拟机的先前解除分配的未使用的物理存储器的物理存储器的重新分配的部分。

示例8可以是示例1-7中的任一个,其中存储器管理器可以进一步压缩使用的物理存储器中的数据,并且将压缩后的数据复制到虚拟机管理器的存储器池中,作为使用的物理存储器从第一个虚拟机的解除分配的部分。

示例9可以是示例8,其中存储器管理器还可以解压缩被复制到存储器池中的压缩数据,并且将解压缩之后的数据复制回分配给第一虚拟机的物理存储器中,作为针对第一虚拟机的先前解除分配的未使用的物理存储器的物理存储器的重新分配的部分。

示例10可以是示例1-9,其中该装置是移动设备或云计算服务器中的选择的一个。

示例11是一种用于虚拟化计算的示例方法。该方法可以包括:由计算系统对分配给计算系统的多个虚拟机中的第一个的未使用的和使用的物理存储器解除分配,以恢复物理存储器用于分配给多个虚拟机中的其他一个或一些;以及由所述计算系统重新分配物理存储器以补充所述第一虚拟机的先前解除分配的未使用和使用的物理存储器。

示例12可以是示例11,其中可以响应于请求来执行解除分配或重新分配。

示例13可以是示例12,其中可以响应于确定第一虚拟机正在进入或离开特定状态而做出请求。

示例14可以是示例13,其中可以响应于确定第一虚拟机正在进入或离开空闲或后台状态而做出请求。

示例15可以是示例13,还包括由计算系统监视多个虚拟机的状态转变。

示例16可以是示例11-15中的任一个,还包括计算系统的虚拟机管理器使得驱动被安装在第一虚拟机的操作系统中,并且请求操作系统将第一虚拟机的未使用的虚拟存储器地址分配给驱动,作为从第一虚拟机解除分配未使用的物理存储器的部分。

示例17可以是示例16,还包括由计算系统请求操作系统取消分配分配给驱动的第一虚拟机的虚拟存储器地址,作为针对第一虚拟机的先前解除分配的未使用的物理存储器重新分配物理存储器的部分。

示例18可以是示例11-17中的任一个,还包括由计算系统压缩使用的物理存储器中的数据,并且将压缩后的数据复制到计算系统的虚拟机管理器的存储器池中,作为从第一虚拟机解除分配使用的物理存储器的部分。

示例19可以是示例18,还包括由计算系统解压缩复制到存储器池中的压缩数据,以及将解压缩之后的数据复制回到分配给第一虚拟机的物理存储器中,作为针对第一虚拟机的先前解除分配的未使用的物理存储器重新分配物理存储器的部分。

示例20可以是示例11-19中的任一个,其中计算系统是移动设备或云计算服务器中的选择的一个。

示例21是一种具有指令的非瞬时计算机可读存储介质,所述指令使计算机系统响应于计算机系统对指令的执行而:解除分配分配给所述计算机系统的多个虚拟机中第一个的未使用和使用的物理存储器,以恢复物理存储器用于分配给所述多个虚拟机中的其他一个或一些虚拟机,以及重新分配物理存储器以补充所述第一虚拟机的先前解除分配的未使用和使用的物理存储器。

示例22可以是示例21,其中可以响应于请求来执行解除分配或重新分配。

示例23可以是示例22,其中可以响应于该第一虚拟机正在进入或离开特定状态的确定做出请求。

示例24可以是示例23,其中,可以响应于该第一虚拟机正在进入或离开空闲或后台状态的确定做出请求。

示例25可以是示例23,其中还可以使得该计算机系统监视所述多个虚拟机的状态转变。

示例26可以是示例21-25中的任一项,其中可进一步使得该计算机系统使计算机系统的虚拟机管理器使得驱动被安装在第一虚拟机的操作系统中,并请求操作系统向驱动分配第一虚拟机的未使用的虚拟存储器地址,作为未使用的物理存储器从第一虚拟机的解除分配的部分。

示例27可以是示例26,其中,可进一步使得所述虚拟机管理器请求操作系统取消分配分配给驱动的所述第一虚拟机的虚拟存储器地址,作为针对第一虚拟机的先前解除分配的未使用的物理存储器的物理存储器的重新分配的部分。

示例28可以是示例21-27中的任一项,其中可进一步使得该计算机系统压缩使用的物理存储器中的数据,并且将压缩后的数据复制到计算机系统的虚拟机管理器的存储器池中,作为使用的物理存储器从第一虚拟机的解除分配的部分。

示例29可以是示例28,其中,可进一步使得该计算机系统解压缩复制到存储池的压缩数据,并且将解压后的数据复制回到分配给所述第一虚拟机的物理存储器中,作为针对第一虚拟机的先前解除分配的未使用的物理存储器的物理存储器的重新分配的部分。

示例30可以是示例21-29中的任一项,其中该计算机系统可以是移动设备或云计算服务器中选择的一个。

示例31可以是一种用于虚拟化计算的装置。该装置可以包括:用于对分配给计算系统的多个虚拟机中的第一个的未使用的和使用的物理存储器解除分配以恢复物理存储器用于分配给多个虚拟机中的其他一个或一些的装置;以及用于重新分配物理存储器以补充所述第一虚拟机的先前解除分配的未使用和使用的物理存储器的装置。

示例32可以是示例31,其中可以响应于请求来执行解除分配或重新分配。

示例33可以是示例32,其中可以响应于确定第一虚拟机正在进入或离开特定状态而做出请求。

示例34可以是示例33,其中可以响应于确定第一虚拟机正在进入或离开空闲或后台状态而做出请求。

示例35可以是示例33,还包括:用于监视所述多个虚拟机的状态转变的装置。

示例36可以是示例31-35中的任一项,还包括:用于使驱动被安装在所述第一虚拟机的操作系统中,并请求操作系统向驱动分配第一虚拟机的未使用的虚拟存储器地址,作为从第一虚拟机解除分配未使用的物理存储器的部分的装置。

示例37可以是示例36,还包括:用于请求所述操作系统取消分配分配给驱动的所述第一虚拟机的虚拟存储器地址作为针对第一虚拟机的先前解除分配的未使用的物理存储器重新分配物理存储器的部分的装置。

实施例38可以是实施例31-38中的任一项,还包括用于压缩使用的物理存储器中的数据并且将压缩后的数据复制到计算系统的虚拟机管理器的存储器池中作为从第一虚拟机解除分配使用的物理存储器的部分的装置。

示例39可以是示例38,还包括用于解压缩复制到存储器池中的压缩数据并且将解压缩之后的数据复制回到分配给第一虚拟机的物理存储器中作为针对第一虚拟机的先前解除分配的未使用的物理存储器重新分配物理存储器的部分的装置。

示例40可以是示例31-39中的任一项,其中,该装置可以是移动设备或云计算服务器中选择的一个。

虽然出于描述的目的某些实施例已在本文中说明和描述,但是各种各样的估计为实现相同目的替代和/或等同实施例或实现可以在不脱离本公开的范围的情况下替代示出和描述的实施例。本申请旨在覆盖本文讨论的实施例的任何修改或变化。因此,显然意图是,本文描述的实施例仅由权利要求书来限定。

其中,本公开记载“一个”或“第一”元素或其等价物,这样的公开包括一个或多个这样的元素,既不要求也不排除两个或更多这样的元素。另外,用于标识的元素的顺序指示符(例如,第一、第二或第三)用于在元素之间进行区分,并且不指示或暗示必需的或有限数量的这样的元素,它们也不表明这样的元素的特定位置或顺序,除非另有具体说明。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1