[发明专利]一种堆内存管理方法、装置、设备及介质有效
申请号: | 202110583862.1 | 申请日: | 2021-05-27 |
公开(公告)号: | CN113296703B | 公开(公告)日: | 2022-08-05 |
发明(设计)人: | 冯唐智;吴睿振;崔健;余洪斌 | 申请(专利权)人: | 山东云海国创云计算装备产业创新中心有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王洋 |
地址: | 250001 山东省济南市自由贸易试验*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 管理 方法 装置 设备 介质 | ||
本申请公开了一种堆内存管理方法、装置、设备、介质,该方法包括:获取用户触发的堆内存申请请求;为堆内存申请请求分配对应的堆内存,并构建空闲链表的链表头,其中,空闲链表为双向链表;为堆内存映射对应的内核态内存,配置内核态内存的访问属性,以便将内核态内存作为硬件一致性内存,并将内核态内存的内核虚拟地址绑定到硬件设备驱动;在获取到申请堆内存中的内存块的内存块申请请求时,查找空闲链表中是否存在与内存块申请请求匹配的目标内存块的控制信息;如果存在,则返回目标内存块的地址信息,并将空闲链表中的所述目标内存块的控制信息删除。这样能够提高堆内存的申请和释放效率,由此提高系统的性能。
技术领域
本申请涉及存储技术领域,特别涉及一种堆内存管理方法、装置、设备、介质。
背景技术
在软件系统中一般都会有两种内存分配方式:栈和堆。其中,栈具有快速、安全可预测等优点,但是往往大小受限于编译器,内存利用率和灵活性较差。而堆则具有大小不受限,使用灵活,内存资源利用率高的优点。虽然堆内存具有上述多种优点,但是也存以下问题,也即,堆本身固有的缺点,也即,堆内存申请与释放本身效率较低。
发明内容
有鉴于此,本申请的目的在于提供一种堆内存管理方法、装置、设备、介质,能够提高堆内存的申请和释放效率,由此提高系统的性能。其具体方案如下:
第一方面,本申请公开了一种堆内存管理方法,应用于异构设备,包括:
获取用户触发的堆内存申请请求,其中,所述堆内存申请请求中包括堆内存的起始地址和大小,所述堆内存为用户态内存;
为所述堆内存申请请求分配对应的堆内存,并构建空闲链表的链表头,其中,所述空闲链表为双向链表,用于存储所述堆内存中被申请之后释放的内存块的控制信息,且同一个空闲链表中的各个所述控制信息对应的所述内存块均有对应链表头中的属性信息对应的属性;
为所述堆内存映射对应的内核态内存,配置所述内核态内存的访问属性,以便将所述内核态内存作为硬件一致性内存,并将所述内核态内存的内核虚拟地址绑定到硬件设备驱动;
在获取到申请所述堆内存中的内存块的内存块申请请求时,查找所述空闲链表中是否存在与所述内存块申请请求匹配的目标内存块的控制信息;
如果存在,则返回所述目标内存块的地址信息,并将所述空闲链表中的所述目标内存块的控制信息删除。
可选地,所述为所述堆内存申请请求分配对应的堆内存,并构建空闲链表的链表头,包括:
为所述堆内存申请请求分配对应的堆内存;
根据获取到的属性信息构建空闲链表的链表头,其中,所述属性信息为内存块大小,同一个空闲链表中的各个所述控制信息对应的所述内存块的大小均相同,不同空闲链表中的所述控制信息对应的所述内存块的大小不相同。
可选地,所述返回所述目标内存块的地址信息,并将所述空闲链表中的所述目标内存块的控制信息删除之前,还包括:
更新存储所述目标内存块的控制信息的空闲链表的使用次数。
可选地,所述查找所述空闲链表中是否存在与所述内存块申请请求匹配的目标内存块的控制信息之后,还包括:
如果不存在,则从所述堆内存的起始地址开始进行全局搜索,以确定所述堆内存中是否存在未分配的与所述内存块申请请求匹配的目标内存块;
如果是,则从所述堆内存中为所述内存块申请请求分配所述目标内存块,并返回所述目标内存块的地址信息。
可选地,所述从所述堆内存的起始地址开始进行全局搜索,以确定所述堆内存中是否存在未分配的与所述内存块申请请求匹配的目标内存块之后,还包括:
如果否,则判断所述堆内存对应的空闲链表是否均为空;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东云海国创云计算装备产业创新中心有限公司,未经山东云海国创云计算装备产业创新中心有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110583862.1/2.html,转载请声明来源钻瓜专利网。