[发明专利]内存管理方法、装置、以及记录内存管理程序的记录媒体无效

专利信息
申请号: 200880004077.9 申请日: 2008-01-23
公开(公告)号: CN101622605A 公开(公告)日: 2010-01-06
发明(设计)人: 鹈川始阳;汤浅太一 申请(专利权)人: 国立大学法人京都大学
主分类号: G06F12/02 分类号: G06F12/02;G06F12/00
代理公司: 北京中博世达专利商标代理有限公司 代理人: 申 健
地址: 日本国*** 国省代码: 日本;JP
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 内存 管理 方法 装置 以及 记录 管理程序 媒体
【说明书】:

技术领域

本发明,涉及存内存理方法、内存管理装置、以及记录内存管理程序的记录媒体。

背景技术

利用Java语言等动态生成数据的编程语言编写的程序(以下,称为主程序),由于将生成的数据动态地记录在内存区域中,所以如果不清除内存区域中因主程序的执行而变为不需要的数据的话,主程序能够利用的空闲区域(以下,称为可用区域)就会不足。所以,一直以来,大家所熟知的方法是清除掉内存中不需要的数据,重复利用内存区域。

清除内存区域中不需要的数据,能够重复利用该区域的处理被称为垃圾回收机制(以下,称为GC)。将通过GC处理而变为可再次利用的可用区域集中在一处组成连续区域的处理称为压缩。为能够重复利用内存区域所执行的这一系列处理,都是运行主程序时不可或缺的处理。当主程序执行必须实时性的处理时,GC处理以及压缩处理,有必要和主程序处理一道实质的并行执行。

压缩处理是,为了将可用区域集中到一处,使内存中的必要数据移动之后,将引用移动源数据位置的指针的引用地址更新成移动目标数据位置的处理。在压缩处理进行到移动数据之后,更新指针的引用地址之前,在主程序调用移动源数据时,由于此处不存在数据,所以主程序就会出现处理异常。因此,在引用移动源数据位置的指针的引用地址全部更新成移动目标数据位置之前,不能中断压缩处理。其结果是,损害了主程序的实时性。

用本发明者中的一人所提出的专利第3530887号发明,能够不损害主程序的实时性执行GC处理。但是,该发明不能中断生成连续可用区域的压缩处理,在压缩处理结束之前不能执行主程序处理。

目前,在移动电话等小型机器中,大多使用作为嵌入式Java处理平台的KVM(K virtual machine)。在KVM中,普遍采用了执行上述GC处理以及压缩处理的程序(以下,称为内存管理程序),该程序通常在内存区域中的可用区域不足时,自动执行。其结果是,由于无法中断内存管理程序的处理,所以主程序的运行会被中断几毫秒~几秒钟时间。

对此,现有的移动电话,在主程序执行必须要实时性的处理,例如,在画面上运动必须要流畅动作的动画、游戏的人物的处理时,为在主程序的运行过程中使内存管理程序不被自动执行,需要在执行必须要实时性的处理之前,强制执行内存管理程序。因此,由于可用区域的大小变大,没有必要在短时间内执行内存管理程序,所以主程序能够不破坏实时性地执行处理。

但是,由于必须要实时性的处理的内容不同,由移动电话的机种所造成的内存区域大小、处理主程序的运行处理速度的不同,会导致强制执行内存管理程序的时间不同。因此,开发者考虑到这些不同,必须设定强制执行内存管理程序的时间,出现开发繁琐,开发效率低下这样的问题。

在非专利文献1中,公开了一种压缩处理,该压缩处理对于GC处理后的所有内存区域,例如将分成16块的内存区域中的1块区域作为限定区域,将该限定区域内的数据一并移动到限定区域外的内存区域后,一起更新引用限定区域内数据的指针的引用地址。但是,这种压缩处理,必须一并执行在移动数据之后、更新所有引用移动源指针的引用地址之前的处理,所以不能够中断压缩处理,执行主程序的处理。因此,损害了主程序的实时性。

另外,在非专利文献2中,将内存区域分成任意多块,将其中之一设定成数据移动目标区域,主程序将数据记录在数据移动目标区域之外的内存区域中。并且,将数据移动目标区域之外的内存区域中的1块作为数据移动源区域,通过将该数据移动源区域的数据移动到数据移动目标区域来生成连续的可用区域。但是,该处理也同非专利文献1一样,不能够中断压缩处理,执行主程序。因此,损害了主程序的实时性。另外,在该处理中,主程序在向内存区域中记录数据之前,必须设定数据移动目标区域,因此,加上记录在内存区域中数据的记录状态等之后,无法设定数据移动目标区域,也就无法高效生成可用区域。

一般的,主程序从内存区域中读出数据的次数,远多于主程序向内存区域中写入数据的次数。为此,若在数据读出处理中增加特别处理的话,数据读出时产生开销,主程序处理的运行效率就会降低。在上述非专利文献2的处理中,已知在各个数据的头部添加指向最新数据位置的前向指针,主程序读出数据单元时,溯寻前向指针,就能从最新的数据位置读出数据单元的方法。但是,该处理在数据读出时产生开销,也会降低主程序处理的运行效率。

非专利文献1:Parallel Incremental Compaction(US 2004/0128329 A1)

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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