内存页的缓存方法、装置、电子设备以及存储介质制造方法及图纸

技术编号:36075082 阅读:11 留言:0更新日期:2022-12-24 10:46
本申请公开了一种内存页的缓存方法、装置、电子设备以及存储介质,涉及电子设备技术领域。该方法包括:在从物理内存向虚拟内存进行页面换出的情况下,获取待换出页面,其中,该虚拟内存包括至少两种大小不同的多个页面槽位,将待换出页面压缩至多个页面槽位中的第一页面槽位进行缓存,其中,该第一页面槽位的槽位大小与待换出页面的页面大小匹配。本申请通过设置不同大小的页面槽位,实现支持大页面的压缩缓存,可以增加压缩比、降低交换过程的反向映射以及降低锁竞争。向映射以及降低锁竞争。向映射以及降低锁竞争。

【技术实现步骤摘要】
内存页的缓存方法、装置、电子设备以及存储介质


[0001]本申请涉及电子设备
,更具体地,涉及一种内存页的缓存方法、装置、电子设备以及存储介质。

技术介绍

[0002]随着科学技术的发展,电子设备的使用越来越广泛,功能越来越多,已经成为人们日常生活中的必备之一。在电子设备的运行过程中,操作系统为了加快电子的运行速度,会将大量的数据缓存在电子设备的内存中,以便于快速读写缓存的数据。但是,电子设备的内存空间有限,将所有的数据都缓存在内存中会造成内存分配不足,导致电子设备的运行出现异常。

技术实现思路

[0003]鉴于上述问题,本申请提出了一种内存页的缓存方法、装置、电子设备以及存储介质,以解决上述问题。
[0004]第一方面,本申请实施例提供了一种内存页的缓存方法,所述方法包括:在从物理内存向虚拟内存进行页面换出的情况下,获取待换出页面,其中,所述虚拟内存包括至少两种大小不同的多个页面槽位;将所述待换出页面压缩至所述多个页面槽位中的第一页面槽位进行缓存,其中,所述第一页面槽位的槽位大小与所述待换出页面的页面大小匹配。
[0005]第二方面,本申请实施例提供了一种内存页的缓存装置,所述装置包括:待换出页面获取模块,用于在从物理内存向虚拟内存进行页面换出的情况下,获取待换出页面,其中,所述虚拟内存包括至少两种大小不同的多个页面槽位;页面缓存模块,用于将所述待换出页面压缩至所述多个页面槽位中的第一页面槽位进行缓存,其中,所述第一页面槽位的槽位大小与所述待换出页面的页面大小匹配。
[0006]第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时所述处理器执行上述方法。
[0007]第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
[0008]本申请实施例提供的内存页的缓存方法、装置、电子设备以及存储介质,在从物理内存向虚拟内存进行页面换出的情况下,获取待换出页面,其中,该虚拟内存包括至少两种大小不同的多个页面槽位,将待换出页面压缩至多个页面槽位中的第一页面槽位进行缓存,其中,该第一页面槽位的槽位大小与待换出页面的页面大小匹配,从而通过设置不同大小的页面槽位,实现支持大页面的压缩缓存,可以增加压缩比、降低交换过程的反向映射以及降低锁竞争。
附图说明
[0009]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0010]图1示出了目前的内存页的缓存方式的示意图;
[0011]图2示出了本申请一实施例提供的内存页的缓存方法的流程示意图;
[0012]图3示出了本申请实施例提供的内存页的缓存方式示意图;
[0013]图4示出了本申请一实施例提供的内存页的缓存方法的流程示意图;
[0014]图5示出了本申请一实施例提供的内存页的缓存方法的流程示意图;
[0015]图6示出了本申请的图5所示的内存页的换存方法的步骤S320的流程示意图;
[0016]图7示出了本申请的图5所示的内存页的换存方法的步骤S330的流程示意图;
[0017]图8示出了本申请一实施例提供的内存页的缓存方法的流程示意图;
[0018]图9示出了本申请一实施例提供的内存页的缓存方法的流程示意图;
[0019]图10示出了本申请一实施例提供的内存页的缓存方法的流程示意图;
[0020]图11示出了本申请一实施例提供的内存页的缓存装置的模块框图;
[0021]图12示出了本申请实施例用于执行根据本申请实施例的内存页的缓存方法的电子设备的框图;
[0022]图13示出了本申请实施例的用于保存或者携带实现根据本申请实施例的内存页的缓存方法的程序代码的存储单元。
具体实施方式
[0023]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0024]首先,对本申请实施例中涉及的名词进行介绍:
[0025]物理内存:是通过易失性存储器而获得的内存空间。当运行一个应用时,该应用对应的代码和数据存储于内存页中,物理内存用于存储该内存页。在应用运行时,中央处理器从物理内存中读取对应的内存页,实现代码和数据的运行,从而实现该应用的运行。
[0026]虚拟内存(Zram):是系统内存管理的一种技术,通过在非易失性存储器上划出一部分,并通过代码建立的一个内存空间。虚拟内存相对于物理内存,是物理内存的一个备用内存,运行一个应用,物理内存中没有存储或存储部分该应用对应的内存页,且物理内存剩余可用内存页达到物理内存规定的水位,由中央处理器根据预设条件确定需要放入虚拟内存中的内存页,即本次交换的内存页,中央处理器将本次交换的内存页从物理内存换入虚拟内存中,从而为新应用腾出内存空间,实现该应用的运行。其中,物理内存规定的水位是指物理内存设定剩余的可用内存页与物理内存总内存页之间的比率,如物理内存设定规定水位为40%,当物理内存剩余可用内存页的比率达到40%时,需要将物理内存中的一部分内存页放入虚拟内存中。
[0027]交换:是指在操作系统中,当本次交换的内存页位于物理内存中,中央处理器将本次交换的内存页从物理内存换入到虚拟内存中;当本次交换的内存页位于虚拟内存中,中
央处理器将确定的本次交换的内存页从虚拟内存换出到物理内存中。
[0028]缺页异常:是指在取指令或者数据的时候,内存管理单元需要将虚拟地址转换为物理地址,如果虚拟地址没有对应的物理地址或者没有访问权限,中央处理器将生成缺页异常。
[0029]大页面:安卓系统中使用4K的常规小页面,如果使用大于4K的页面粒度,如64K、2M等这些架构支持的粒度页面称为大页面。
[0030]匿名页面:没有后备文件支持的物理页面叫做匿名页面,如程序的堆区和栈区。
[0031]交换链表(lru链表):Linux中的内存回收算法中,使用lru链表来存放最近最少使用的页面,加入页面的时候从链表头加入,回收页面的时候从链表尾删除。
[0032]其中,为了避免出现将所有的数据都缓存在内存中造成内存分配不足的问题,电子设备开始支持内存回收机制。但是,专利技术人经过研究发现,目前的内存回收技术只支持小页面(如4K)的读写,当操作系统的内存不足时,会将最近不常用的匿名页写入到交换分区,而当处于交换分区的匿名页再次被访问时,就会发生缺页异常,在异常处理中将交换分区的匿名页面读取到内存中。其中,在手机等嵌入式电子设备中,一般使用闪存作为存储设备,考虑到擦除导致闪存寿命等问题,会使用虚拟内存Zram作为交换分区。...

【技术保护点】

【技术特征摘要】
1.一种内存页的缓存方法,其特征在于,所述方法包括:在从物理内存向虚拟内存进行页面换出的情况下,获取待换出页面,其中,所述虚拟内存包括至少两种大小不同的多个页面槽位;将所述待换出页面压缩至所述多个页面槽位中的第一页面槽位进行缓存,其中,所述第一页面槽位的槽位大小与所述待换出页面的页面大小匹配。2.根据权利要求1所述的方法,其特征在于,在所述将所述待换出页面压缩至所述多个页面槽位中的第一页面槽位进行缓存之后,还包括:响应于针对所述待换出页面的访问指令,将所述待换出页面从所述第一页面槽位解压至所述物理内存进行缓存。3.根据权利要求1所述的方法,其特征在于,所述将所述待换出页面压缩至所述多个页面槽位中的第一页面槽位进行缓存,包括:获取所述待换出页面的页面大小;若所述多个页面槽位中包括槽位大小与所述页面大小匹配的页面槽位,则将所述槽位大小与所述页面大小匹配的页面槽位确定为所述第一页面槽位;将所述待换出页面压缩至所述第一页面槽位进行缓存。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:若所述多个页面槽位中不包括槽位大小与所述页面大小匹配的页面槽位,则根据所述多个页面槽位的槽位大小将所述待换出页面拆分为多个待换出子页面;将所述多个待换出子页面分别压缩至所述多个页面槽位中的多个第二页面槽位进行缓存,其中,所述多个第二页面槽位的槽位大小与各自缓存的待换出子页面的页面大小匹配。5.根据权利要求3所述的方法,其特征在于,所述物理内存包括交换链表,所述交换链表用于存放所述待换出页面,所述获取所述待换出页面的页面大小,包括:从所述交换链表中获取所述待换出页面的头页;若根据所述头页确定所述待换出页面的页面大小大于预设大小,则获取所述待换出页面的页面大小。6.根据权利要求3所述的方法,其特征在于,所述若所述多个页面槽位中包括槽位大小与所述页面大小匹配的页面槽位,则将所述槽位大小与所述页面大小匹配的页面...

【专利技术属性】
技术研发人员:韩传华
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1