[发明专利]动态内存管理方法在审
申请号: | 202110349032.2 | 申请日: | 2021-03-31 |
公开(公告)号: | CN114217938A | 公开(公告)日: | 2022-03-22 |
发明(设计)人: | 钱宏;王飞;吴伟;朱琪;管茂林;杨涛;尉红梅 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214038 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 内存 管理 方法 | ||
本发明公开一种动态内存管理方法,包括以下步骤:S1、在运行课题时指定x属性内存空间的总大小;S2、开辟相应大小的x属性内存空间;S3将目标码中的静态x属性内存空间映射到S2中所开辟的x属性内存空间的前半部分,剩余的后半部分x属性内存空间即为动态x属性内存空间;S4、用户课题在代码中调用xspace_malloc函数动态申请x属性内存空间;S6、用户课题可以在代码中调用get_allocatable_xspace_size获取当前剩余的动态x属性内存空间大小。本发明解决了在支持多空间属性的编程环境中,单纯使用malloc、free函数无法满足多空间属性的动态内存管理需求的问题。
技术领域
本发明涉及一种动态内存管理方法,属于内存管理技术领域。
背景技术
代码程序一般使用malloc、free函数进行动态内存分配与释放,malloc函数调用mmap函数通过操作系统来动态的申请内存空间,在动态内存使用完后调用free函数将该内存空间释放。在很多编程环境中,存在多个拥有不同属性的内存空间,不同属性的内存空间就需要提供相应的动态内存管理的接口。现有的malloc、free函数支持用户课题对单一空间属性的内存空间进行动态管理,无法满足多空间属性的动态内存管理需求。
发明内容
本发明的目的是提供一种动态内存管理方法,以解决在支持多空间属性的编程环境中,单纯使用malloc、free函数无法满足多空间属性的动态内存管理需求的问题。
为达到上述目的,本发明采用的技术方案是:提供一种动态内存管理方法,基于以下函数接口:
xspace_malloc函数,用于动态申请x属性内存空间;
xspace_free函数,用于释放x属性内存空间;
get_allocatable_xspace_size函数,用于返回当前剩余的可动态分配的x属性内存空间的大小;
包括以下步骤:
S1、用户使用加载器加载目标码运行课题,并在运行课题时指定x属性内存空间的总大小;
S2、加载器接收用户指定的x属性内存空间的总大小,开辟相应大小的x属性内存空间;
S3、加载器加载课题目标码,将目标码中的静态x属性内存空间映射到S2中所开辟的x属性内存空间的前半部分,剩余的后半部分x属性内存空间即为动态x属性内存空间,将动态x属性内存空间的起始地址和大小写入与编译器约定的变量xspace_malloc_start_addr和xspace_malloc_total_size中;
S4、用户课题在代码中调用xspace_malloc函数动态申请x属性内存空间,xspace_malloc函数读取xspace_malloc_start_addr和xspace_malloc_total_size变量的值,在当前剩余的动态x属性内存空间内进行内存分配,内存分配成功后将空间首地址返回给用户程序,内存分配失败则返回-1至用户程序;
S5、在完成S4中申请的动态x属性内存空间的使用后,用户课题在代码中调用xspace_free函数将该x属性内存空间释放;
S6、用户课题可以在代码中调用get_allocatable_xspace_size获取当前剩余的动态x属性内存空间大小,在需要使用动态x属性空间时,重复S4、S5的步骤进行动态x属性内存空间的申请与释放。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明提出一种动态内存管理方法,支持用户课题对多空间属性内存空间的动态申请和释放,突破常规malloc、free函数只支持对单一属性空间动态管理的限制,满足支持多属性内存空间的编程环境下对多空间属性的内存空间进行动态管理的需求。
附图说明
附图1为本发明一种动态内存管理方法的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110349032.2/2.html,转载请声明来源钻瓜专利网。