发明名称 |
一种内存池管理方法及装置 |
摘要 |
本发明公开了一种内存池管理方法及装置,该方法包括:需要在内存池中分配内存时,确定上次被分配的内存块所在的子池内是否有空闲内存块;若有,则将所述子池内的空闲内存块进行分配;若无,则通过从上至下查找多级位图逐级缩小查找范围,查找一个空闲子池并分配内存块,其中每级位图包括多个比特值,最低级位图的每个比特值指示内存块的使用情况,上级位图的每个比特值,对应地指示下级位图中多个比特值所涉及的内存块的整体使用情况;根据所分配的内存块的位置,对应更新所述多级位图中的比特值。本发明内存管理免互斥锁,可以大大降低基站在多用户、大数据量场景下处理器的负荷,能够处理更多的用户。 |
申请公布号 |
CN102253897B |
申请公布日期 |
2013.09.11 |
申请号 |
CN201110210425.1 |
申请日期 |
2011.07.26 |
申请人 |
大唐移动通信设备有限公司 |
发明人 |
韩耕 |
分类号 |
G06F12/02(2006.01)I;G06F12/08(2006.01)I |
主分类号 |
G06F12/02(2006.01)I |
代理机构 |
北京同达信恒知识产权代理有限公司 11291 |
代理人 |
刘松 |
主权项 |
一种内存池管理方法,其特征在于,包括:需要在内存池中分配内存时,确定上次被分配的内存块所在的子池内是否有空闲内存块,其中内存池被划分为多个子池,各子池包括数量相等个内存块;若有,则将所述子池内的空闲内存块进行分配;若无,则通过从上至下查找多级位图逐级缩小查找范围,查找一个空闲子池并分配内存块,其中每级位图包括多个比特值,最低级位图的每个比特值指示内存块的使用情况,上级位图的每个比特值,对应地指示下级位图中多个比特值所涉及的内存块的整体使用情况;根据所分配的内存块的位置,对应更新所述多级位图中的比特值;其中,内存池中内存块的索引连续编号,定义一个全局索引Block_Index,通过Block_Index记录上次所分配的内存块在内存池中索引相关信息,根据Block_Index确定上次所分配的内存块所在的子池是否有空闲内存块。 |
地址 |
100083 北京市海淀区学院路29号 |