[发明专利]存储器管理有效

专利信息
申请号: 200880118202.9 申请日: 2008-11-27
公开(公告)号: CN101878472A 公开(公告)日: 2010-11-03
发明(设计)人: A·H·飞利浦斯;A·D·怀拜 申请(专利权)人: 国际商业机器公司
主分类号: G06F12/02 分类号: G06F12/02
代理公司: 北京市中咨律师事务所 11247 代理人: 于静;杨晓光
地址: 美国*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 存储器 管理
【说明书】:

技术领域

发明涉及执行中的软件应用的存储器管理,具体而言,涉及垃圾收集过程中的残存存储器。

背景技术

运行时环境下存储器管理的设计,通常是为了软件工程师的方便。因此,诸如Java(Java是Sun Microsystems Inc.的注册商标)的运行时环境包含具有垃圾收集器的堆存储器(heap memory)。垃圾收集器是自动标识并自存储器丢弃无效数据(如对象)以便释放储存空间的运行时工具。垃圾收集是现代计算机系统的效率所享有的奢侈品,使软件工程师不再需要以编程方式丢弃每个无效对象。

现代的垃圾收集算法利用弱代假说(weak generational hypothesis),即大部分被分配的对象是“短存”的(即对象建立后,在相对较短的时间内即可被丢弃)。为了使用此假说,对象被分配在称为“新代(nursery)”的存储器堆区中。对此新代进行的垃圾收集远比主堆频繁,后者存储较旧(年老)的对象,且一般包括称为分配空间和残存空间的二个区域。随着对象被复制到连续存储器中,新代会自动压缩。复制垃圾收集算法将存活对象从新代分配空间复制到同时执行压缩的残存存储器(survivor memory)。残存存储器是具有可配置大小的新代堆的一部分。例如,残存存储器最多可占分配给新代的总存储器的50%。

图1a是在计算机系统中执行的软件应用202的示意图。每个软件应用都具有由存储器管理器204所提供的相关堆存储器206。堆存储器206占用一个地址范围,该地址范围可以是物理地址范围或存储器管理器204将物理存储器映射至其中的逻辑地址范围。例如,堆存储器206是新代堆,属于较大应用堆的一部分。存储器管理器204可操作以将计算机系统的存储器单元提供给软件应用202。例如,存储器管理器204可为计算机系统中的操作系统的一个构件,如内核存储器管理器。

堆206的一部分208是专用残存存储器,供垃圾收集过程期间使用。残存存储器部分208的特征在于,其不可供应用202分配对象使用并被保留以在垃圾收集过程期间使用。图1b是图1a的软件应用202的堆206的示意图。在执行中,软件应用202在堆206中存储和取回数据。堆206包含对应于所存储的数据的已分配部分(划线及阴影部分)。此类数据可包含例如分配的软件对象、数据结构、纪录、字段或变量。垃圾收集算法可操作以周期性地处理堆206以丢弃堆206中分配的未使用数据项。此类算法包含复制垃圾收集算法。在处理堆206时,垃圾收集算法标识堆206中有效的数据项。有效的数据项是软件应用202正在使用的数据项。反之,无效的数据项是软件应用202不再需要的数据项。例如,软件应用202通过例如存储器指针或对象引用来引用有效数据项。垃圾收集算法将此类已标识的有效数据项复制到残存存储器208。垃圾收集算法可将已标识的有效数据项复制到残存存储器208内的连续位置,以便压缩所述数据项。随后,仅需保留残存存储器208中记录的数据项(因此为“残存”),并且堆206中的所有其他数据项(对应于无效的数据项)皆可被丢弃。

此类复制垃圾收集器的一个问题在于,即使当前没有执行垃圾收集,每个应用也维持其自己的残存存储器。对于具有大量执行中的软件应用以及对应的大量存储器被分配为残存存储器的系统而言,此问题特别严重。此外,由于残存存储器被保留为在垃圾收集过程期间使用,软件应用202无法用其存储数据。

因此,借助用于复制垃圾收集器的残存存储器提供垃圾收集的益处而无需将堆存储器专门用作执行中的每个软件应用的残存存储器是有利的。

发明内容

本发明相应地在第一方面中提供了一种用于在计算机系统中执行的软件应用的存储器管理的方法,所述方法包含以下步骤:存储器管理器提供具有预定大小的第一存储器单元作为用于所述软件应用的第一分配空间;所述软件应用将数据存储在所述第一分配空间中;以及通过下列步骤丢弃所述第一分配空间中的无效数据:

a)所述存储器管理器提供用于所述软件应用的第二存储器单元;

b)标识所述第一分配空间中的有效数据并将所述有效数据复制到所述第二存储器单元,所述有效数据至少包含所述软件应用正在使用的数据;

c)在所述第一分配空间中指示所述有效数据已变为无效;

d)将所述第一分配空间的一部分映射为在逻辑上与所述第二存储器单元连续,以便定义用于所述软件应用的第二分配空间,其中所述第二分配空间的大小等于所述预定大小;以及

e)将所述第一分配空间的剩余部分返回给所述存储器管理器,作为适合重新使用的存储器单元。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200880118202.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top