一种内存的管理方法及电子设备技术

技术编号:28488545 阅读:32 留言:0更新日期:2021-05-19 22:05
一种内存的管理方法及电子设备,涉及电子设备技术领域,有利于避免对频繁访问的物理页面进行多次不必要的回收检查,加速了操作系统对物理页面的回收效率,提升操作系统的性能,该方法具体包括:电子设备针对每一个内存区域使用多个不活跃链表和一个活跃链表实现回收物理页面的功能。或者,针对每一个内存区域使用一个不活跃链表和多个活跃链表实现回收物理页面的功能。又或者,针对每一个内存区域使用多个不活跃链表和多个活跃链表实现回收物理页面的功能。理页面的功能。理页面的功能。

【技术实现步骤摘要】
一种内存的管理方法及电子设备


[0001]本申请涉及电子设备
,尤其涉及一种内存的管理方法及电子设备。

技术介绍

[0002]虚拟内存(virtual memory),是电子设备操作系统中内存管理的一种技术,是操作系统提供的一种对内存(也称为物理内存)的抽象。虚拟内存的实现是由操作系统软件和硬件结合完成。虚拟内存可以不受限于内存大小的限制,为应用程序的提供了一个更大的私有的地址空间。也就是说,每个应用程序进程独立分配自己的虚拟内存空间。而操作系统则为应用程序的虚拟内存空间分配物理内存空间(即物理页面),即将应用程序进程分配的虚拟内存空间映射到物理页面。
[0003]应用程序在读写文件时,操作系统使用物理页面作为存储在外部存储器中文件的缓存,以提升操作系统的读写性能。由于电子设备的物理页面有限,因此当应用程序进程长时间运行,也不主动释放物理页面时,或者有大量的应用程序进程申请物理页面时,空闲的物理页面也就越来越少。因此,当空闲的物理页面无法满足内存分配或者低于一定门限时,操作系统会根据一定的算法(如,最近最少使用(least rec本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种内存的管理方法,其特征在于,应用于电子设备,所述电子设备的内存包括一个或多个内存区域,所述一个或多个内存区域中的每个内存区域对应n个不活跃链表和m个活跃链表,其中,n为大于1的整数,m为大于或等于1的整数,所述方法包括:所述电子设备按照不活跃的物理页面被应用进程映射的个数,将所述内存已分配的不活跃的物理页面放入所述n个不活跃链表中对应的不活跃链表;在所述电子设备回收内存的物理页面的过程中,所述电子设备扫描所述n个不活跃链表中的各个不活跃链表,并对扫描到的各个不活跃链表中的物理页面进行回收检查;其中,不活跃链表中的物理页面被应用进程映射的个数越大,不活跃链表对应的扫描周期越长;若检查到所述n个不活跃链表中物理页面最近的预设时间段内未被访问过,则所述电子设备回收所述物理页面;若检查到所述n个不活跃链表中物理页面最近的预设时间段内被访问过,则所述电子设备将所述物理页面移至所述m个活跃链表。2.根据权利要求1所述的方法,其特征在于,所述电子设备扫描所述n个不活跃链表中的各个不活跃链表,包括:所述电子设备根据物理页面被应用进程映射的个数,对所述n个不活跃链表进行排序;在所述电子设备回收内存的物理页面的过程中,所述电子设备对所述n个不活跃链表共执行P轮次扫描,其中,P大于或等于2的整数;在所述P轮次扫描中的每一轮次扫描时,所述电子设备按照所述n个不活跃链表的排序,从被应用进程映射的个数最小的物理页面所在的不活跃链表开始扫描,并且,每一轮次扫描的不活跃链表的个数不同。3.根据权利要求2所述的方法,其特征在于,所述在所述P轮次扫描中的每一轮次扫描时,所述电子设备按照所述n个不活跃链表的排序,从被应用进程映射的个数最小的物理页面所在的不活跃链表开始扫描,并且,每一轮次扫描的不活跃链表的个数不同,具体为:在所述P轮次扫描中的每一轮次扫描时,所述电子设备按照所述n个不活跃链表的排序,从被应用进程映射的个数最小的物理页面所在的不活跃链表开始扫描,每一轮次扫描的不活跃链表的个数比上一轮次扫描的不活跃链表的个数增加预设数量个。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:当m=1时,在所述电子设备回收内存的物理页面的过程中,所述电子设备从活跃链表的一侧开始扫描,并对扫描到的物理页面进行回收检查;若检查到活跃链表中物理页面最近的预设时间段内未被访问过,则所述电子设备将所述物理页面放入所述物理页面被应用进程映射的个数对应的不活跃链表中;若检查到活跃链表中物理页面最近的预设时间段内被访问过,则所述电子设备将所述物理页面移至活跃链表的另一侧。5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:当m>1时,所述电子设备按照物理页面被访问的次数,将所述内存已分配的活跃的物理页面放入所述m个活跃链表中对应的活跃链表。6.根据权利要求5所述的方法,其特征在于,所述若检查到所述n个不活跃链表中物理页面最近的预设时间段内被访问过,则所述电子设备将所述物理页面移至所述m个活跃链表,具体为:
若检查到所述n个不活跃链表中物理页面最近的预设时间段内被访问过,则所述电子设备将所述物理页面移至所述m个活跃链表中物理页面被访问次数最小的活跃链表中。7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:在所述电子设备回收内存的物理页面的过程中,所述电子设备扫描所述m个活跃链表,并对扫描到所述m个活跃链表中的物理页面进行回收检查;若检查到所述m个活跃链表中物理页面最近的预设时间段内未被访问过,则所述电子设备将所述物理页面放入所述物理页面被应用进程映射的个数对应的不活跃链表中;若检查到所述m个活跃链表中第一活跃链表中物理页面最近的预设时间段内被访问过,则所述电子设备将所述物理页面移至所述m个活跃链表中第二活跃链表中,所述第二活跃链表中物理页面被访问次数大于所述第一活跃链表中的物理页面被访问次数。8.根据权利要求7所述的方法,其特征在于,所述电子设备扫描所述m个活跃链表,包括:在所述电子设备回收内存的物理页面的过程中,所述电子设备对所述m个活跃链表共执行Q轮次扫描,其中,Q大于或等于2的整数;在所述Q轮次扫描中的每一轮次扫描时,所述电子设备按照所述m个活跃链表的排序,从被访问次数最小的物理页面所在的活跃链表开始扫描,并且,每一轮次扫描的活跃链表的个数不同。9.根据权利要求8所述的方法,其特征在于,所述在所述Q轮次扫描中的每一轮次扫描时,所述电子设备按照所述m个活跃链表的排序,从被访问次数最小的物理页面所在的活跃链表开始扫描,并且,每一轮次扫描的活跃链表的个数不同,具体为:在所述Q轮次扫描中的每一轮次扫描时,所述电子设备按照所述m个活跃链表的排序,从被访问次数最小的物理页面所在的活跃链表开始扫描,每一轮次扫描的活跃链表的个数比上一轮次扫描的活跃链表的个数增加预设数量个。10.一种内存的管理方法,其特征在于,应用于电子设备,所述电子设备的内存包括一个或多个内存区域,所述一个或多个内存区域中的每个内存区域对应一个不活跃链表和m个活跃链表,m为大于1的整数,所述方法包括:所述电子设备按照物理页面被访问的次数,将所述内存已分配的活跃的物理页面放入所述m个活跃链表中对应的活跃链表;在所述电子设备回收内存的物理页面的过程中,所述电子设备扫描所述m个活跃链表中的各个活跃链表,并对扫描到所述m个活跃链表中的各个活跃链表中的物理页面进行回收检查;其中,活跃链表中的物理页面被访问次数越大,活跃链表对应的扫描周期越长;若检查到所述m个活跃链表中物理页面最近的预设时间段内未被访问过,则所述电子设备将所述物理页面放入所述不活跃链表的一侧;若检查到所述m个活跃链表中第一活跃链表中物理页面最近的预设时间段内被访问过,则所述电子设备将所述物理页面移至所述m个活跃链表中第二活跃链表中,所述第二活跃链表中物理页面被访问次数大于所述第一活跃链表中的物理页面被访问次数。11.根据权利要求10所述的方法,其特征在于,所述电子设备扫描所述m个活跃链表中的各个活跃链表,包括:在所述电子设备回收内存的物理页面的过程中,所述电子设备对所述m个活跃链表共
执行Q轮次扫描,其中,Q大于或等于2的整数;在所述Q轮次扫描中的每一轮次扫描时,所述电子设备按照所述m个活跃链表的排序,从被访问次数最小的物理页面所在的活跃链表开始扫描,并且,每一轮次扫描的活跃链表的个数不同。12.根据权利要求11所述的方法,其特征在于,所述在所述Q轮次扫描中的每一轮次扫描时,所述电子设备按照所述m个活跃链表的排序,从被访问次数最小的物理页面所在的活跃链表开始扫描,并且,每一轮次扫描的活跃链表的个数不同,具体为:在所述Q轮次扫描中的每一轮次扫描时,所述电子设备按照所述m个活跃链表的排序,从被访问次数最小的物理页面所在的活跃链表开始扫描,每一轮次扫描的活跃链表的个数比上一轮次扫描的活跃链表的个数增加预设数量个。13.根据权利要求10-12任一项所述的方法,其特征在于,所述方法还包括:在所述电子设备回收内存的物理页面的过程中,所述电子设备从所述不活跃链表的另一侧开始扫描,并对扫描到的物理页面进行回收检查;若检查到所述不活跃链表中物理页面最近的预设时间段内未被访问过,则所述电子设备回收所述物理页面;若检查到所述不活跃链表中物理页面最近的预设时间段内被访问过,则所述电子设备将所述物理页面移至所述m个活跃链表中物理页面被访问次数最小的活跃链表中。14.一种电子设备,其特征在于,包括:处理器、存储器和触摸屏,所述存储器、所述触摸屏与所述处理器耦合,所述存储器包括一个或多个内存区域,所述一个或多个内存区域中的每个内存区域对应n个不...

【专利技术属性】
技术研发人员:王涛翟奇
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1