[发明专利]内存管理方法及系统有效
| 申请号: | 201710019318.8 | 申请日: | 2017-01-11 |
| 公开(公告)号: | CN108304259B | 公开(公告)日: | 2023-04-14 |
| 发明(设计)人: | 焦琳琳 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 北京天昊联合知识产权代理有限公司 11112 | 代理人: | 姜春咸;冯建基 |
| 地址: | 518057 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 内存 管理 方法 系统 | ||
1.一种内存管理方法,其特征在于,该内存管理方法包括:
将系统内存均分为多个容量相等的大内存块;
创建用于管理由所述系统内存划分成的所有大内存块的大内存块表;
从所述大内存块表中获取一个大内存块并将所获取的大内存块划分多个小内存块及一间隔区,每一小内存块包括一控制内存与一数据内存,所述控制内存包括一管理头内存与一监控头内存;及
创建用于管理所述小内存块的数据池与控制池,每一数据池用于管理同一容量的小内存块的数据内存,每一控制池用于管理同一容量的控制内存;所述小内存块的类型为普通内存块及零拷贝使用的内存块;当所述小内存块为普通内存块时,所述控制池为第一容量;当所述小内存块为零拷贝使用的内存块时,所述控制池为第二容量;所述第一容量小于所述第二容量。
2.如权利要求1所述的内存管理方法,其特征在于,所有小内存块的管理头内存与监控头内存形成所述大内存块的控制区,所有小内存块的数据内存形成所述大内存块的数据区,所述控制区位于所述大内存块的前头,所述数据区位于所述大内存块的后头,所述间隔区设置在管理区与所述数据区之间。
3.如权利要求1所述的内存管理方法,其特征在于,所述管理头内存记录有小内存块的名称、大小及物理位置信息;所述监控头内存记录有小内存块的申请与释放信息。
4.如权利要求3所述的内存管理方法,其特征在于,该内存管理方法还包括:
判断所述数据池中是否有空闲的小内存块;
当所述数据池中没有空闲的小内存块时,从所述大内存块表中读取一个大内存块;
根据所述数据池中的小内存块的容量划分所获取的大内存块;
将由所述大内存块划分得到的小内存块逐个添加到所对应的数据池中以扩容所述数据池,并将所述小内存块的控制内存添加到对应的控制池中。
5.如权利要求4所述的内存管理方法,其特征在于,所述内存管理方法还包括:当由所述大内存块划分成的小内存块都添加到对应的数据池中时,在所述大内存块表中增加表征所述大内存块的节点记录数据池的名称及该数据池中的第一个数据地址。
6.如权利要求4所述的内存管理方法,其特征在于,步骤“根据所述数据池中的小内存块的容量划分所获取的大内存块”具体为:
从所述大内存块预留一内存空间给所述间隔区;
计算每一小内存块所需占用的内存空间,其中,每一小内存块所需占用的内存空间包括所述小内存块的数据内存及控制内存占用的内存空间;
根据所述小内存块所需占用的内存空间将所述大内存块划分为若干个小内存块。
7.如权利要求3所述的内存管理方法,其特征在于,该内存管理方法还包括:
判断所述数据池中是否有空闲的小内存块;
当所述数据池中有多个空闲的小内存块时,从所述数据池中收回所述空闲的小内存块的数据内存,并从所述控制池中收回与所述小内存块的控制内存。
8.如权利要求7所述的内存管理方法,其特征在于,该内存管理方法还包括:
判断是否属于同一大内存块的小内存块都被收回;
当属于同一大内存块的小内存块都被收回时,在空闲大内存块链表中增加表征所述大内存块的节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710019318.8/1.html,转载请声明来源钻瓜专利网。





