平码五不中公式规律
  • / 17
  • 下载费用:30 金币  

虚拟化计算中的存储器管理.pdf

关 键 ?#21097;?/dt>
虚拟 计算 中的 存储器 管理
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201480081172.4

申请日:

2014.09.15

公开号:

CN106663051A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 12/00申请日:20140915|||公开
IPC分类号: G06F12/00 主分类号: G06F12/00
申请人: 英特尔公司
发明人: 张献涛; 许东晓
地址: 美国加利福尼亚州
优先权:
专利代理机构: 中国专利代理(香港)有限公司 72001 代理人: 张凌苗;郑冀之
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201480081172.4

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

本文公开了与虚拟化计算中的存储器管理相关联的装置、方法和存储介质。一种装置可以包括:虚拟机管理器,用于管理多个虚拟机的操作,具有存储器管理器,用于管理物理存储器到多个虚拟机和从多个虚拟机的分配和解除分配。分配和解除分配可以包括分配给多个虚拟机中的第一个的未使用和使用的物理存储器的解除分配以恢复物理存储器用于到多个虚拟机中的一个或多个其他虚拟机的分配,以及用于第一虚拟机的先前解除分配的未使用和使用的物理存储器的物理存储器的重新分配。

权利要求书

1.一种用于虚拟化计算的装置,包括:
一个或多个处理器;
与一个或多个处理器耦合的物理存储器;以及
虚拟机管理器,所述虚拟机管理器由一个或多个处理器操作以管理多个虚拟机的操
作,所述虚拟机管理器具有存储器管理器来管理物理存储器到和从多个虚拟机的分配和解
除分配,包括:
分配给多个虚拟机中的第一个的未使用和使用的物理存储器的解除分配,以恢复物理
存储器用于分配给多个虚拟机中的其他一个或一些虚拟机,以及
物理存储器的重新分配,以补充第一虚拟机的之前解除分配的未使用和使用的物理存
储器。
2.根据权利要求1所述的装置,其中存储器管理器响应于请求来执行解除分配或重新
分配。
3.根据权利要求2所述的装置,其中虚拟机管理器响应于第一虚拟机正在进入或离开
特定状态的确定而做出请求。
4.根据权利要求3所述的装置,其中虚拟机管理器响应于第一虚拟机正在进入或离开
空闲或后台状态的确定而做出请求。
5.根据权利要求3所述的装置,其中虚拟机管理器还监视多个虚拟机的状态转变。
6.根据权利要求1所述的装置,其中存储器管理器还使得驱动被安装在第一虚拟机的
操作系统中,并且请求操作系统向驱动分配第一虚拟机的未使用的虚拟存储器地址,作为
未使用的物理存储器从第一虚拟机的解除分配的部分。
7.根据权利要求6所述的装置,其中存储器管理器还请求操作系统取消分配分配给驱
动的第一虚拟机的虚拟存储器地址,作为针对第一虚拟机的先前解除分配的未使用的物理
存储器的物理存储器的重新分配的部分。
8.根据权利要求1所述的装置,其中存储器管理器压缩使用的物理存储器中的数据并
且将压缩后的数据复制到虚拟机管理器的存储器池中,作为使用的物理存储器从第一个虚
拟机的解除分配的部分。
9.根据权利要求8所述的装置,其中存储器管理器还解压缩被复制到存储器池中的压
缩数据,并且将解压缩之后的数据复制回到分配给第一虚拟机的物理存储器中,作为针对
第一虚拟机的先前解除分配的未使用的物理存储器的物理存储器的重新分配的部分。
10.根据权利要求1-9中任一项所述的装置,其中所述装置是移动设备或云计算服务器
中的选择的一个。
11.一种用于虚拟化计算的方法,包括:
由计算系统对分配给计算系统的多个虚拟机中的第一个的未使用的和使用的物理存
储器解除分配,以恢复物理存储器用于分配给多个虚拟机中的其他一个或一些;以及
由计算系?#25345;?#26032;分配物理存储器以补充第一虚拟机的先前解除分配的未使用和使用
的物理存储器。
12.根据权利要求11所述的方法,其中响应于请求来执行解除分配或重新分配。
13.根据权利要求12所述的方法,其中响应于第一虚拟机正在进入或离开特定状态的
确定而做出请求。
14.根据权利要求13所述的方法,其中响应于第一虚拟机正在进入或离开空闲或后台
状态的确定而做出请求。
15.根据权利要求13所述的方法,还包括由计算系统监视多个虚拟机的状态转变。
16.根据权利要求11所述的方法,还包括计算系统的虚拟机管理器使得驱动被安装在
第一虚拟机的操作系统中,并且请求操作系统将第一虚拟机的未使用的虚拟存储器地址分
配给驱动,作为从第一虚拟机解除分配未使用的物理存储器的部分。
17.根据权利要求16所述的方法,还包括由虚拟机管理器请求操作系统取消分配分配
给驱动的第一虚拟机的虚拟存储器地址,作为针对第一虚拟机的先前解除分配的未使用的
物理存储器重新分配物理存储器的部分。
18.根据权利要求11所述的方法,还包括由计算系统压缩使用的物理存储器中的数据
并且将压缩后的数据复制到计算系统的虚拟机管理器的存储器池中作为从第一虚拟机解
除分配使用的物理存储器的部分。
19.根据权利要求18所述的方法,还包括由计算系统解压缩复制到存储器池中的压缩
数据,并且将解压缩后的数据复制回到分配给第一虚拟机的物理存储器中,作为针对第一
虚拟机的先前解除分配的未使用的物理存储器重新分配物理存储器的部分。
20.根据权利要求11所述的方法,其中计算系统是移动设备或云计算服务器中的选择
的一个。
21.至少一种具有指令的非瞬时计算机可读存储介质,所述指令使计算机系统响应于
计算机系?#25345;?#34892;指令而执行根据权利要求11-20所述的方法中的任何一个。
22.一种用于虚拟化计算的装置,包括:
用于对分配给计算系统的多个虚拟机中的第一个的未使用的和使用的物理存储器解
除分配以恢复物理存储器用于分配给多个虚拟机中的其他一个或一些的装置;以及
用于重新分配物理存储器以补充第一虚拟机的先前解除分配的未使用和使用的物理
存储器的装置。
23.根据权利要求22所述的装置,还包括用于监视多个虚拟机的状态转变的装置。
24.根据权利要求22所述的装置,还包括用于使驱动被安装在第一虚拟机的操作系统
中的装置;用于请求操作系统向驱动分配第一虚拟机的未使用的虚拟存储器地址作为从第
一虚拟机解除分配未使用的物理存储器的部分的装置;以及用于请求操作系统取消分配分
配给驱动的第一虚拟机的虚拟存储器地址作为针对第一虚拟机的先前解除分配的未使用
的物理存储器重新分配物理存储器的部分的装置。
25.根据权利要求22-24中任一项所述的装置,还包括用于压缩使用的物理存储器中的
数据并且将压缩后的数据复制到计算系统的虚拟机管理器的存储器池中作为从第一虚拟
机解除分配使用的物理存储器的部分的装置;以及用于解压缩复制到存储器池中的压缩数
据,并且将解压缩后的数据复制回到分配给第一虚拟机的物理存储器中,作为针对第一虚
拟机的先前解除分配的未使用的物理存储器重新分配物理存储器的部分的装置。

说明书

虚拟化计算中的存储器管理

技术领域

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

背景技术

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

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

附图说明

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

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

图2示出根据各?#36136;?#26045;例的用于在虚拟化计算中管理存储器的方法的过程视图。

图3示出了根据各?#36136;?#26045;例的用于在虚拟化计算中管理存储器的方法的图形视图

图4示出了根据各?#36136;?#26045;例的适于实践本公开的示例计算机系统的部件视图。

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

具体实施方式

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

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

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

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

为了本公开的目的,短语“A和/或B?#24065;庵福ˋ)、(B)或(A和B)。为了本公开的目的,短
语“A、B和/或C?#24065;庵福ˋ)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A,B和C)。

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

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

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

软件元件202可以包括被配置为管理由计算设备200托管的多个虚拟机,例如,212
和214的操作的虚拟机管理器(VMM)206。VMM 206可以包括存储器管理器208以管理支持虚
拟机212/214的虚拟存储器空间的物理存储器225到虚拟机212/214的分配和解除分配。另
外,存储器管理器208可以被配置为管理虚拟机212/214的虚拟存储器空间的虚拟地址到物
理存储器225的物理地址的?#25104;洌?#20197;促进访问存储器225内的存储器位置。在实施例中,存储
器225的存储器位置可以以页为单位进行组织和管理,并且存储器管理器208可以配置有页
表(未示出)以管理存储器225的资源的分配/解除分配,以及控制?#36816;?#20998;配的资源的访?#30465;?br />此外,存储器管理器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的示例可以包括但不限于视频驱动、网络驱动、盘驱动?#21462;?#24212;用232的示例可以包括
但不限于web服务、因特网门户服务、搜索引擎、社交网络、新闻服务、游戏、文字处理、电子
表格、日历、电话、?#19978;竦取?br />

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

继续参考图1,在实施例中,VMM 206可以被配置为监视虚拟机212/214的相应状态
转变。例如,VMM 206可以被配置为监视虚拟机212/214是否正从活动状态转变到较不活动
或空闲的状态,活动状态诸如是虚拟机212/214内的至少一个应用232正在活动地执行的状
态。构成较不活动状态的可以是实现相关的,这取决于实?#36136;?#21542;希望积极地或不太积极地
管理解除分配/重新分配。最不积极的方法将是基于虚拟机212/214进入或离开空闲状态来
管理解除分配/重新分配,空闲状态即虚拟机212/214内的应用232和OS 204正在等待工作
的状态。在实施例中,虚拟机212/214可以在其处于活动状态时在前台操作,其中它被给予
优先级、路由中?#24076;╮outed interrupt)等等,并?#19994;?#34394;拟机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,其中示
出了根据各?#36136;?#26045;例的用于管理虚拟化计算中的存储器分配/解除分配的方法的过程视
图。如图所示,用于管理虚拟化计算中的存储器分配/解除分配的过程250可以包括在框
252-260中执行的操作。操作可以例如由图1的存储器管理器208执行。

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

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

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

从框256,过程可以终止。

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

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

从框260,过程可以终止。

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

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

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

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

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

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

返回参考图4,对于一个实施例,处理器402中的至少一个可以与具有计算逻辑422
(代替存储在系统存储器404和/或大容量存储设备406中)的存储器封装在一起,计算逻辑
422被配置为实践与图1的VMM 206(包括存储器管理208)相关联的操作中的所有或选择的
操作或图2的过程250的方面。对于一个实施例,处理器402中的至少一个可以与具有计算逻
辑422的存储器封装在一起以形?#19978;?#32479;级封装(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是一种用于虚拟化计算的示例方法。该方法可以包括:由计算系统对分配
给计算系统的多个虚拟机中的第一个的未使用的和使用的物理存储器解除分配,以恢复物
理存储器用于分配给多个虚拟机中的其他一个或一些;以及由所述计算系?#25345;?#26032;分配物理
存储器以补充所述第一虚拟机的先前解除分配的未使用和使用的物理存储器。

示例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中的任一项,其中,该装置可以是移动设备或云计算服务
器中选择的一个。

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

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

关于本文
本文标题:虚拟化计算中的存储器管理.pdf
链接地址:http://www.pqiex.tw/p-6091804.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 股票分析师为什么会免费推荐股票 st股票涨跌幅计算 南阳股票配资 股票融资要求 股票融资融券做空绝技 2019年年初上证指数 红马甲炒股软件 股票市场 贵州茅台股票走势 财经新闻股票行情查询上证指数贵州茅台