[发明专利]面向实时系统的内存算法有效

专利信息
申请号: 201210263549.0 申请日: 2012-07-28
公开(公告)号: CN102880555A 公开(公告)日: 2013-01-16
发明(设计)人: 吴英杰;王一蕾;夏李波;唐文斌;许孝盛 申请(专利权)人: 福州大学
主分类号: G06F12/06 分类号: G06F12/06
代理公司: 福州元创专利商标代理有限公司 35100 代理人: 蔡学俊
地址: 350108 福建省福州市*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种面向实时系统的内存算法,采用红黑树数据结构用于快速查找所需的内存块;该算法定义占用红黑树、空闲红黑树数组、向后合并红黑树、向前合并红黑树,当有内存申请时,从空闲红黑树中获取满足需求的空闲内存块,判断空闲内存块是否需要分割,并作相应处理,然后将空闲内存块加入占用红黑树,分配内存,并维护相关红黑树;当有内存块需要释放时,根据释放内存块首尾地址查询向前、向后合并红黑树,判断是否需要向前、向后合并,并作相应处理,然后将释放内存块加入空闲红黑树,释放内存,并更新相关红黑树。该算法有利于提高内存分配时间效率。
搜索关键词: 面向 实时 系统 内存 算法
【主权项】:
1.一种面向实时系统的内存算法,其特征在于:采用红黑树数据结构用于快速查找所需的内存块;该算法定义以下四类红黑树:占用红黑树:用于存放被占用的内存块信息,同时将该内存块的内存ID作为比较规则,当程序释放内存时迅速根据内存ID定位到该内存块,释放内存;空闲红黑树数组:定义共18棵红黑树,分别对应内存大小标记为1,2,3,4,6,…,,…,512单位的内存块,每组红黑树以地址为比较规则,存放大小大于等于该组标记但小于下一组标记的内存块信息;向后合并红黑树:用于在内存回收过程中快速查找到能与释放内存块向后合并的内存块;当有内存释放时,将与释放内存块相邻的下一内存块的首地址作为比较规则,迅速查找出可合并块,并定位到空闲红黑树数组的相应位置进行相关内存合并操作;向前合并红黑树:用于在内存回收过程中快速查找到能与释放内存块向前合并的内存块;当有内存释放时,将与释放内存块相邻的上一内存块的尾地址作为比较规则,迅速查找出可合并块,并定位到空闲红黑树数组的相应位置进行相关内存合并操作;当有一个大小为d的内存申请时,按如下方法进行内存分配:步骤1.1:通过查询的大小域,定位到第一个满足需求d的组,即;从k链表开始,为后面的每一个链表的统计值加1,表明从k链表开始的所有后续链表里的内存块都有能力提供需求为d的内存;由于及后面各组红黑树内的任意一个内存块均大于等于d,可选取该列表中的第一块内存;如果的链表为空,则该内存区间不存在空闲的内存块,继续向后面的红黑树寻找直至找到存在空闲块的组,获取该组的第一块;如果后续组别中均不存在空闲块,返回第一个满足需求d的组的前一个组,该组里的内存块大小在区间内,可能存在满足需求的块;步骤1.2:获取满足需求的空闲内存块,如果的大小刚好满足需求d,即,该块将被完全占用;如果的大小超出需求d,则判断是否需要分割,如果被分割,将产生大小为的剩余块,判断剩余块大小是否小于限定值,是则将直接完全分配而不做分割,否则将分割,插入相应的空闲组中;步骤1.3:维护相关红黑树:将满足需求的空闲内存块中删除,并加入;如果有剩余块产生,根据剩余块的大小,加入相应的组内,同时以的首尾地址为比较规则,分别加入;当有一个ID为id、大小为d的内存块需要释放时,按如下方法进行内存释放:步骤2.1:在中查询ID为id的内存块,根据该块的首地址和末尾地址查询,判断是否存在可与合并的向前合并块、向后合并块或其中之一,如果存在,将合并为新的大内存块,然后插入相关红黑树,如果不存在,则直接将插入相关红黑树;步骤2.2:更新红黑树:将中删除;如果存在或其中之一,将或其中之一从相应中删除,并将合并后的新的大内存块加入相应的,如果不存在,则直接将加入相应的
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201210263549.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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