[发明专利]一种内存池版图解析方法和内存池装置有效
申请号: | 201610098782.6 | 申请日: | 2016-02-23 |
公开(公告)号: | CN105718319B | 公开(公告)日: | 2019-03-15 |
发明(设计)人: | 张贺;陈岚 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100029 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 版图 解析 方法 装置 | ||
1.一种内存池版图解析方法,其特征在于,应用于具有多个大小结构相等的内存块的内存池装置中,包括:
获取应用程序向系统发送的操作指令;
判断所述操作指令的指令类型;
当所述操作指令为内存分配需求指令时,判断当前使用的内存块中是否存在空闲的内存单元,如果否,向系统发送添加内存块指令;
采用指针将所述系统依据添加内存块指令添加的内存块与内存池中原有的内存块进行链接;
其中,所述系统依据添加内存块指令添加的内存块与内存池中原有的内存块的大小、结构相同;
当所述操作指令为已使用的内存单元的删除指令时;
将与所述删除指令相匹配的内存单元返回至内存池;
所述内存池依据所述内存单元的起始地址遍历所维护的内存块链表,判断所述内存单元的起始地址是否落在某个内存块的地址范围内,如果在内存池中没有找到相应的内存块,则表明所述内存单元不属于这个内存池,继续遍历其他内存池;如果在内存池中找到了符合要求的内存块,则将所述内存单元添加到所述符合要求的内存块所维护的空闲的内存单元链表的头部,同时该内存块头信息中bFree值递增1;
所述bFree的值用于表征内存块中存在的空闲的内存单元的数量。
2.根据权利要求1所述的内存池版图解析方法,其特征在于,所述判断当前使用的内存块中是否存在空闲的内存单元,包括:
内存池通过blockList指针遍历内存块链表,判断是否存在bFree的值是否大于0的内存块,如果否,则确定当前使用的内存块中不存在空闲的内存单元,所述bFree的值用于表征内存块中存在的空闲的内存单元的数量。
3.根据权利要求1所述的内存池版图解析方法,其特征在于,所述向系统发送添加内存块指令之后,采用指针将所述系统依据添加内存块指令添加的内存块与内存池中原有的内存块进行链接之前,还包括:
当检测到系统依据添加内存块指令添加的内存块后,对所述添加的内存块初始化。
4.根据权利要求3所述的内存池版图解析方法,其特征在于,所述初始化包括:
设置所述添加的内存块的尺寸为所有内存单元的大小,bFree的值设置为n-1、bFirst的值设置为1,所述n为所述内存块中的内存单元的数量,将所述添加的内存块的所有空闲的内存单元进行链接,且每个空闲的内存单元的头两个字节用来存储下一空闲的内存单元的编号,所述bFree的值用于表征内存块中存在的空闲的内存单元的数量,所述bFirst的值用于表征内存块中已使用的内存单元的数量。
5.根据权利要求1所述的内存池版图解析方法,其特征在于,与所述删除指令相匹配的内存单元内存块的bFree的值加1后,还包括:
判断所述加1后的bFree的值是否为n,如果是,将bFree值为n的内存块返还释放给进程堆。
6.一种内存池装置,其特征在于,包括:
对象内存池和多个大小、结构相同的内存块;
所述对象内存池,用于获取并判断应用程序向系统发送的操作指令的指令类型,当所述操作指令为内存分配需求指令时,判断当前使用的内存块中是否存在空闲的内存单元,如果否,向系统发送添加内存块指令,采用指针将所述系统依据添加内存块指令添加的内存块与内存池中已经使用的内存块进行链接;当所述操作指令为已使用的内存单元的删除指令时,将与所述删除指令相匹配的内存单元返回至内存池,所述内存池依据所述内存单元的起始地址遍历所维护的内存块链表,判断所述内存单元的起始地址是否落在某个内存块的地址范围内,如果在内存池中没有找到相应的内存块,则表明所述内存单元不属于这个内存池,继续遍历其他内存池;如果在内存池中找到了符合要求的内存块,则将所述内存单元添加到所述符合要求的内存块所维护的空闲的内存单元链表的头部,同时该内存块头信息中bFree值递增1,所述bFree的值用于表征内存块中存在的空闲的内存单元的数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610098782.6/1.html,转载请声明来源钻瓜专利网。