[发明专利]一种内存分配办法在审

专利信息
申请号: 202111198865.X 申请日: 2021-10-14
公开(公告)号: CN113946444A 公开(公告)日: 2022-01-18
发明(设计)人: 张令;刘非;沈建春;黄俊斌 申请(专利权)人: 杭州国芯科技股份有限公司
主分类号: G06F9/50 分类号: G06F9/50
代理公司: 杭州君度专利代理事务所(特殊普通合伙) 33240 代理人: 陈炜
地址: 310012 浙江省杭州市文*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 内存 分配 办法
【权利要求书】:

1.一种内存分配办法,包括申请内存、释放内存、清除缓存,其特征在于,所述的申请内存为:

用户首次申请内存时,向操作系统申请内存块,同时生成一个数据块Malloc Package,并将申请内存块的指针*P保留在Malloc Package内;Malloc Package内包含有用户传入的本次申请标识符ID、申请内存块大小Size,以及Malloc Package自身的热度值Hot;将Malloc Package放入使用表Malloc;

用户再次申请内存块时,从空闲表Free内寻找ID和Size与本次申请相同的MallocPackage;如果找到,则将找到的Malloc Package返回用户使用,同时将Malloc Package由Free表移动到Malloc表;如果没有找到,则本次申请为首次申请;

所述的释放内存为:用户释放内存时,将Malloc Package由Malloc表移动到Free表;

所述的清除缓存为:用户申请内存时如果系统内存不足,按照热度值hot释放Free表中的Malloc Package到系统,优先释放热度值hot小的Malloc Package。

2.如权利要求1所述的一种内存分配办法,其特征在于,所述的申请内存步骤如下:

步骤(1)用户发送申请内存指令;

步骤(2)通过用户传入的ID和Size判断本次申请生成的数据块Malloc Package是否已经存在于Free表中:如果存在则执行步骤(3)~(7),如果不存在则执行步骤(8);

步骤(3)从Free表里获取存在的Malloc Package;

步骤(4)将获取的Malloc Package中的热度值Hot加1;

步骤(5)将获取的Malloc Package从Free表里移除;

步骤(6)将获取的Malloc Package添加到Malloc表;

步骤(7)将获取的Malloc Package返回给用户;

步骤(8)通过操作系统和用户传入的Size申请内存块;

步骤(9)判断从操作系统获取的指针*P是否为NULL:如果不是则执行步骤(10)~(13),如果是则执行步骤(14);

步骤(10)生成新的Malloc Package,并且将从操作系统获取的指针*P填充进新的Malloc Package;

步骤(11)生成新的ID,并且将新的ID填充到新的Malloc Package中;

步骤(12)将新的Malloc Package中的热度值Hot初始化为0;

步骤(13)将新的Malloc Package返回给用户;

步骤(14)判断Free表中是否还存在Malloc Package,如果存在则执行步骤(15),如果不存在则执行步骤(16);

步骤(15)从Free表中获取热度值Hot最小的Malloc Package进行释放,返回步骤(8);

步骤(16)返回用户错误信息。

3.如权利要求1所述的一种内存分配办法,其特征在于,所述的释放内存步骤如下:

步骤(1)用户发送释放内存指令,并且传入已经返回给用户的待释放内存对应的Malloc Package;

步骤(2)判断待释放内存对应的Malloc Package是否存在于Malloc表中:如果存在,执行步骤(3),否则返回用户错误信息;

步骤(3)从Malloc表中移除待释放内存对应的Malloc Package;

步骤(4)将待释放内存对应的Malloc Package添加到Free表中,释放过程结束。

4.如权利要求1所述的一种内存分配办法,其特征在于,所述的清除缓存步骤如下:

步骤(1)用户发送清除缓存指令;

步骤(2)判断Free表中是否存在Malloc Package:如果存在,执行步骤(3),否则表示清除缓存完毕;

步骤(3)获取Free表中的一个Malloc Package;

步骤(4)将获取的Malloc Package中的指针*P释放;

步骤(5)将获取的Malloc Package释放;继续执行步骤(2)。

5.如权利要求1所述的一种内存分配办法,其特征在于:在清除缓存中,允许用户调用清除缓存接口,将Free表中全部Malloc Package释放。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州国芯科技股份有限公司,未经杭州国芯科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111198865.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top