[发明专利]面向实时系统的内存算法有效
申请号: | 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/,转载请声明来源钻瓜专利网。
- 上一篇:大环内酯合成方法
- 下一篇:一种茚烯类化合物及其制备方法