内存资源分配方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:19489125 阅读:116 留言:0更新日期:2018-11-17 12:03
本发明专利技术提供了一种内存资源分配方法、装置、电子设备及可读存储介质,在进程启动时,进程获取自身所需管理的内存大小后向内存页资源池申请预留的所有可用内存页,然后将所有可用内存页按照物理地址的大小关系进行排序,再将排序后的所有可用内存页按照物理地址从大到小的顺序逐一释放,再根据自身所需管理内存大小向内存页资源池申请待分配物理内存页中的内存页,此时,被申请到的内存页的物理地址连续且虚拟地址连续,可以作为一个虚拟独立的页,从而方便对进程实施独立的内存管理。当多个进程都执行上述步骤后,每个进程都可以获取到一个虚拟独立且物理地址连续、虚拟地址连续的页,即可以实现在多进程的环境下,对每个进程实施独立的内存管理。

【技术实现步骤摘要】
内存资源分配方法、装置、电子设备及可读存储介质
本专利技术涉及内存管理
,具体而言,涉及一种内存资源分配方法、装置、电子设备及可读存储介质。
技术介绍
通信技术迅速发展,对通信设备的功能及稳定性提出了更高要求。为满足这些要求,将控制平面与业务平面进行分离得到广泛的应用,同时随着应用业务越来越多,应用业务模块越来越庞大复杂,对应的维护也越来越复杂,不同的应用业务实施独立的内存管理显得特别重要。不同的业务对应不同的进程。然而,对于多进程的环境下,如何实施独立的内存管理,是需要解决的问题,现有技术没有适用于多进程环境中的内存资源分配方案。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种内存资源分配方法、装置、电子设备及可读存储介质,可以在多进程的环境下,针对单个进程实施独立的内存管理。第一方面,本专利技术实施例提供了一种内存资源分配方法,所述方法包括:在进程启动时,所述进程获取自身所需的内存大小;向内存页资源池申请预留的所有可用内存页;将所述所有可用内存页按照物理地址的大小关系进行排序;将排序后的所述所有可用内存页按照物理地址从大到小的顺序逐一释放,得到待分配物理内存页;根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中的内存页。由于所有可用内存页是按照物理地址的大小关系进行排序后再按照物理地址从大到小的顺序逐一释放,因此,当进程对待分配物理内存页中的内存页进行重新申请后,得到的是物理地址连续且虚拟地址连续的内存页,这些内存页可以作为一个虚拟独立的hugePage,从而方便对进程实施独立的内存管理。当多个进程都执行上述步骤后,每个进程都可以获取到一个虚拟独立且物理地址连续、虚拟地址连续的hugePage,即可以实现在多进程的环境下,对每个进程实施独立的内存管理。结合第一方面的一种实施方式,所述方法还包括:将申请到的内存页合并为一个或多个虚拟地址连续并且物理地址连续的页。结合第一方面的一种实施方式,在所述进程获取自身所需的内存大小之后,在所述向内存页资源池申请预留的所有可用内存页之前,所述方法还包括:将所述所有可用内存页添加进程锁;在所述将申请到的内存页合并为一个或多个虚拟地址连续并且物理地址连续的页之后,所述方法还包括:释放所述进程锁。进程通过进程锁可以对内存页资源池内的所有可用内存页实现独占,避免其他进程抢占内存资源造成系统混乱。结合第一方面的一种实施方式,所述根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中的内存页,包括:根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中物理地址连续且虚拟地址连续的内存页。第二方面,本专利技术实施例提供了一种内存资源分配装置,所述装置包括:获取模块,用于在进程启动时,所述进程获取自身所需的内存大小;申请模块,用于向内存页资源池申请预留的所有可用内存页;排序模块,用于将所述所有可用内存页按照物理地址的大小关系进行排序;释放模块,用于将排序后的所述所有可用内存页按照物理地址从大到小的顺序逐一释放,得到待分配物理内存页;所述申请模块,还用于根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中的内存页。由于所有可用内存页是按照物理地址的大小关系进行排序后再按照物理地址从大到小的顺序逐一释放,因此,当进程对待分配物理内存页中的内存页进行重新申请后,得到的是物理地址连续且虚拟地址连续的内存页,这些内存页可以作为一个虚拟独立的hugePage,从而方便对进程实施独立的内存管理。当多个进程都执行上述步骤后,每个进程都可以获取到一个虚拟独立且物理地址连续、虚拟地址连续的hugePage,即可以实现在多进程的环境下,对每个进程实施独立的内存管理。由于所有可用内存页是按照物理地址的大小关系进行排序后再按照物理地址从大到小的顺序逐一释放,因此,当进程对待分配物理内存页中的内存页进行重新申请后,得到的是物理地址连续且虚拟地址连续的内存页,这些内存页可以作为一个虚拟独立的hugePage,从而方便对进程实施独立的内存管理。当多个进程都执行上述步骤后,每个进程都可以获取到一个虚拟独立且物理地址连续、虚拟地址连续的hugePage,即可以实现在多进程的环境下,对每个进程实施独立的内存管理。结合第二方面的一种实施方式,所述装置还包括:合并模块,用于将申请到的内存页合并为一个或多个虚拟地址连续并且物理地址连续的页。结合第二方面的一种实施方式,所述装置还包括:添加模块,用于将所述所有可用内存页添加进程锁;解除模块,用于释放所述进程锁。进程通过进程锁可以对内存页资源池内的所有可用内存页实现独占,避免其他进程抢占内存资源造成系统混乱。结合第二方面的一种实施方式,所述申请模块,用于根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中物理地址连续且虚拟地址连续的内存页。第三方面,本专利技术实施例提供了一种电子设备,所述电子设备包括相互耦合的存储器以及处理器;所述存储器内存储计算机程序,所述计算机程序被所述处理器读取并运行时,执行第一方面任一实施方式所提供的内存资源分配方法。第四方面,本专利技术实施例提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器读取并运行时执行第一方面任一实施方式所提供的内存资源分配方法。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术实施例提供的电子设备的方框示意图;图2为本专利技术实施例提供的内存资源分配方法的流程图之一;图3为本专利技术实施例提供的内存页地址示意图之一;图4为本专利技术实施例提供的内存页地址示意图之二;图5为本专利技术实施例提供的内存页地址示意图之三;图6为本专利技术实施例提供的内存资源分配方法的流程图之二;图7为本专利技术实施例提供的内存资源分配方法的流程图之三;图8为本专利技术实施例提供的内存资源分配装置的结构框图之一;图9为本专利技术实施例提供的内存资源分配装置的结构框图之二;图10为本专利技术实施例提供的内存资源分配装置的结构框图之三。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。首先,对本专利技术所涉及到的术语进行简要介绍:hugePage:大内存页,大内存页有助于Linux系统进行虚拟内本文档来自技高网...

【技术保护点】
1.一种内存资源分配方法,其特征在于,所述方法包括:在进程启动时,所述进程获取自身所需的内存大小;向内存页资源池申请预留的所有可用内存页;将所述所有可用内存页按照物理地址的大小关系进行排序;将排序后的所述所有可用内存页按照物理地址从大到小的顺序逐一释放,得到待分配物理内存页;根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中的内存页。

【技术特征摘要】
1.一种内存资源分配方法,其特征在于,所述方法包括:在进程启动时,所述进程获取自身所需的内存大小;向内存页资源池申请预留的所有可用内存页;将所述所有可用内存页按照物理地址的大小关系进行排序;将排序后的所述所有可用内存页按照物理地址从大到小的顺序逐一释放,得到待分配物理内存页;根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中的内存页。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:将申请到的内存页合并为一个或多个虚拟地址连续并且物理地址连续的页。3.根据权利要求2所述的方法,其特征在于,在所述进程获取自身所需的内存大小之后,在所述向内存页资源池申请预留的所有可用内存页之前,所述方法还包括:将所述所有可用内存页添加进程锁;在所述将申请到的内存页合并为一个或者多个虚拟地址连续并且物理地址连续的页之后,所述方法还包括:释放所述进程锁。4.根据权利要求1所述的方法,其特征在于,所述根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中的内存页,包括:根据所述进程自身所需的内存大小向所述内存页资源池申请所述待分配物理内存页中物理地址连续且虚拟地址连续的内存页。5.一种内存资源分配装置,其特征在于,所述装置包括:获取模块,用于在进程启动时,所述进程获取自身所需的内存大小;申...

【专利技术属性】
技术研发人员:向和礼
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1