[发明专利]一种内存管理方法及系统有效
申请号: | 201510159220.3 | 申请日: | 2015-04-03 |
公开(公告)号: | CN104778125B | 公开(公告)日: | 2017-09-15 |
发明(设计)人: | 赵如奇 | 申请(专利权)人: | 无锡天脉聚源传媒科技有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/50 |
代理公司: | 北京尚伦律师事务所11477 | 代理人: | 张亮 |
地址: | 214000 江苏省无锡*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 管理 方法 系统 | ||
1.一种内存管理方法,其特征在于,包括:
将内存预先划分为多个内存分区,将所述内存分区分别分配为多个不同量级的内存块;
接收包含内存需求的网络数据包,并根据所述网络数据包中包含的内存需求的大小为所述网络数据包分配所述内存块的内存地址;
检测所述内存分区中不同量级的所述内存块的使用率,并根据所述使用率重新调整所述内存分区中的内存块的量级;
所述接收包含内存需求的网络数据包,并根据所述网络数据包中包含的内存需求的大小为所述网络数据包分配所述内存块的内存地址,包括:
接收包含内存需求的网络数据包;
检测各内存分区中使用状态为未使用的所述内存块中,是否存在内存容量等于或大于所述网络数据包的内存需求的所述内存块;
在各内存分区中存在内存容量等于或大于所述网络数据包的内存需求的所述内存块时,提取内存容量与所述网络数据包的内存需求之间差值最小的所述内存块的内存地址;
将提取的所述内存地址分配给所述网络数据包后,将提取内存地址的所述内存块的使用状态标识为已使用;
所述根据所述网络数据包中包含的内存需求的大小为所述网络数据包分配所述内存块的内存地址,还包括:
在各内存分区中不存在内存容量等于或大于所述网络数据包的内存需求的所述内存块时,检测当前内存分区中使用状态为未使用的所有内存块的总内存容量是否等于或大于所述网络数据包的内存需求;
在当前内存分区中所有内存块的总内存容量等于或大于所述网络数据包的内存需求时,将所述内存分区的未使用内存块重新分配为不同量级的内存块,且重新分配后的所述内存块中至少包含一个所属量级的内存容量与所述网络数据包的内存需求之间差值最小的内存块;
提取内存容量与所述网络数据包的内存需求之间差值最小的所述内存块的内存地址;将提取的所述内存地址分配给所述网络数据包后,将提取内存地址的所述内存块的使用状态标识为已使用。
2.如权利要求1所述的方法,其特征在于,所述将内存预先划分为多个内存分区,并将各所述内存分区分别分配为多个不同量级的内存块,包括:
根据需要将内存预先划分为多个相同/不同大小的内存分区;
将所述内存分区分别分配为多个不同量级的内存块,并将所述内存块的使用状态标识为未使用;其中,所述内存块的不同量级为128字节或/和512字节或/和1024字节或/和1536字节。
3.如权利要求1所述的方法,其特征在于,所述根据所述网络数据包中包含的内存需求的大小为所述网络数据包分配所述内存块的内存地址,还包括:
在当前内存分区中所有内存块的总内存容量小于所述网络数据包的内存需求时,检测其他内存分区中使用状态为未使用的所有内存块的总内存容量是否等于或大于所述网络数据包的内存需求;
在其他内存分区中所有内存块的总内存容量等于或大于所述网络数据包的内存需求时,将其他所述内存分区的未使用内存块重新分配为不同量级的内存块,且重新分配后的所述内存块中至少包含一个所属量级的内存容量与所述网络数据包的内存需求之间差值最小的内存块;
提取内存容量与所述网络数据包的内存需求之间差值最小的所述内存块的内存地址;将提取的所述内存地址分配给所述网络数据包后,将提取内存地址的所述内存块的使用状态标识为已使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡天脉聚源传媒科技有限公司,未经无锡天脉聚源传媒科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510159220.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内核多线程直接存储驱动实现方法
- 下一篇:一种主备切换方法及系统