[发明专利]内存资源分配方法、装置、电子设备及可读存储介质在审
申请号: | 201810673952.8 | 申请日: | 2018-06-26 |
公开(公告)号: | CN108829523A | 公开(公告)日: | 2018-11-16 |
发明(设计)人: | 向和礼 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 魏彦 |
地址: | 610000 四川省成都市高*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 物理地址 可用 可读存储介质 电子设备 内存管理 内存资源 虚拟地址 资源池 进程 排序 分配 申请 虚拟 物理内存页 大小关系 管理内存 进程获取 进程启动 多进程 预留的 后向 释放 管理 | ||
本发明提供了一种内存资源分配方法、装置、电子设备及可读存储介质,在进程启动时,进程获取自身所需管理的内存大小后向内存页资源池申请预留的所有可用内存页,然后将所有可用内存页按照物理地址的大小关系进行排序,再将排序后的所有可用内存页按照物理地址从大到小的顺序逐一释放,再根据自身所需管理内存大小向内存页资源池申请待分配物理内存页中的内存页,此时,被申请到的内存页的物理地址连续且虚拟地址连续,可以作为一个虚拟独立的页,从而方便对进程实施独立的内存管理。当多个进程都执行上述步骤后,每个进程都可以获取到一个虚拟独立且物理地址连续、虚拟地址连续的页,即可以实现在多进程的环境下,对每个进程实施独立的内存管理。
技术领域
本发明涉及内存管理技术领域,具体而言,涉及一种内存资源分配方法、装置、电子设备及可读存储介质。
背景技术
通信技术迅速发展,对通信设备的功能及稳定性提出了更高要求。为满足这些要求,将控制平面与业务平面进行分离得到广泛的应用,同时随着应用业务越来越多,应用业务模块越来越庞大复杂,对应的维护也越来越复杂,不同的应用业务实施独立的内存管理显得特别重要。
不同的业务对应不同的进程。然而,对于多进程的环境下,如何实施独立的内存管理,是需要解决的问题,现有技术没有适用于多进程环境中的内存资源分配方案。
发明内容
有鉴于此,本发明实施例的目的在于提供一种内存资源分配方法、装置、电子设备及可读存储介质,可以在多进程的环境下,针对单个进程实施独立的内存管理。
第一方面,本发明实施例提供了一种内存资源分配方法,所述方法包括:在进程启动时,所述进程获取自身所需的内存大小;向内存页资源池申请预留的所有可用内存页;将所述所有可用内存页按照物理地址的大小关系进行排序;将排序后的所述所有可用内存页按照物理地址从大到小的顺序逐一释放,得到待分配物理内存页;根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中的内存页。由于所有可用内存页是按照物理地址的大小关系进行排序后再按照物理地址从大到小的顺序逐一释放,因此,当进程对待分配物理内存页中的内存页进行重新申请后,得到的是物理地址连续且虚拟地址连续的内存页,这些内存页可以作为一个虚拟独立的hugePage,从而方便对进程实施独立的内存管理。当多个进程都执行上述步骤后,每个进程都可以获取到一个虚拟独立且物理地址连续、虚拟地址连续的hugePage,即可以实现在多进程的环境下,对每个进程实施独立的内存管理。
结合第一方面的一种实施方式,所述方法还包括:将申请到的内存页合并为一个或多个虚拟地址连续并且物理地址连续的页。
结合第一方面的一种实施方式,在所述进程获取自身所需的内存大小之后,在所述向内存页资源池申请预留的所有可用内存页之前,所述方法还包括:将所述所有可用内存页添加进程锁;在所述将申请到的内存页合并为一个或多个虚拟地址连续并且物理地址连续的页之后,所述方法还包括:释放所述进程锁。进程通过进程锁可以对内存页资源池内的所有可用内存页实现独占,避免其他进程抢占内存资源造成系统混乱。
结合第一方面的一种实施方式,所述根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中的内存页,包括:根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中物理地址连续且虚拟地址连续的内存页。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810673952.8/2.html,转载请声明来源钻瓜专利网。