[发明专利]内存分配方法、装置、存储介质及电子设备有效
申请号: | 201911261551.2 | 申请日: | 2019-12-10 |
公开(公告)号: | CN111090521B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 张诗明 | 申请(专利权)人: | OPPO(重庆)智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F12/02 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 彭绪坤 |
地址: | 401120 重庆*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 分配 方法 装置 存储 介质 电子设备 | ||
本申请公开了一种内存分配方法、装置、存储介质及电子设备。该方法包括:当接收到线程发送的内存分配请求时,确定所述内存分配请求对应的内存需求量;判断所述内存需求量是否小于预设阈值;若所述内存需求量小于预设阈值,则从第一内存空间中靠近第一内存地址的空闲空间中,确定大小与所述内存需求量匹配的目标内存空间;若所述内存需求量不小于预设阈值,则从第一内存空间中靠近第二内存地址的空闲空间中,确定大小与所述内存需求量匹配的目标内存空间;将所述目标内存空间对应的内存地址发送至所述线程。本申请可以减少内存碎片化的程度,提高内存利用率。
技术领域
本申请属于电子技术领域,尤其涉及一种内存分配方法、装置、存储介质及电子设备。
背景技术
在操作系统中,通常采用动态内存管理机制,内核将虚拟内存分配给有内存需求的线程,线程执行完毕后,再将内存释放,以供内核继续将内存分配给有内存需求的其他线程。
相关技术的内存分配方案,当大小内存交替申请时,小内存释放后留下的空闲内存块分布在内存空间各个不连续的区域,从而造成内存碎片化,导致内存利用率较低。
发明内容
本申请实施例提供一种内存分配方法、装置、存储介质及电子设备,可以减少内存碎片化的程度,提高内存利用率。
本申请实施例提供一种内存分配方法,包括:
当接收线程发送的内存分配请求时,确定所述内存分配请求对应的内存需求量;
判断所述内存需求量是否小于预设阈值;
若所述内存需求量小于预设阈值,则从第一内存空间中靠近第一内存地址的空闲空间中,确定大小与所述内存需求量匹配的目标内存空间;
若所述内存需求量不小于预设阈值,则从第一内存空间中靠近第二内存地址的空闲空间中,确定大小与所述内存需求量匹配的目标内存空间;
将所述目标内存空间对应的内存地址发送至所述线程。
本申请实施例提供一种内存分配装置,包括:
第一确定模块,用于当接收线程发送的内存分配请求时,确定所述内存分配请求对应的内存需求量;
判断模块,用于判断所述内存需求量是否小于预设阈值;
第二确定模块,用于若所述内存需求量小于预设阈值,则从第一内存空间中靠近第一内存地址的空闲空间中,确定大小与所述内存需求量匹配的目标内存空间;
第二确定模块,还用于若所述内存需求量不小于预设阈值,则从第一内存空间中靠近第二内存地址的空闲空间中,确定大小与所述内存需求量匹配的目标内存空间;
发送模块,用于将所述目标内存空间对应的内存地址发送至所述线程。
本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的内存分配方法中的流程。
本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的内存分配方法中的流程。
本申请实施例中,当内存需求量小于预设阈值时,从第一内存空间中靠近第一内存地址的空闲空间中,确定大小与内存需求量匹配的目标内存空间;当内存需求量不小于预设阈值时,从第一内存空间中靠近第二内存地址的空闲空间中,确定大小与内存需求量匹配的目标内存空间,即将第一内存空间按照内存需求量的大小进行不同方向分配,将内存需求量较小的内存集中在同一区域,将内存需求量较大的内存集中在另一区域,减少了内存碎片化的程度,提高了内存空间的利用率。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于OPPO(重庆)智能科技有限公司,未经OPPO(重庆)智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911261551.2/2.html,转载请声明来源钻瓜专利网。