一种嵌入式系统内存的管理方法及管理系统的制作方法

文档序号:8361361阅读:529来源:国知局
一种嵌入式系统内存的管理方法及管理系统的制作方法
【技术领域】
[0001]本发明涉及一种内存的管理方法,尤其涉及一种嵌入式系统内存的管理方法及管理系统。
【背景技术】
[0002]在嵌入式系统中,内存一直都是比较紧张的资源。在现在的复杂嵌入式设备中,随着业务的复杂度越来越高,对内存的需求也越来越多样化。而作为使用者,存在使用偏好的问题,也就是说用户一般只使用嵌入式设备中的某些业务功能,所以导致传统的内存使用存在一定的浪费。
[0003]在现有的内存管理方案中,一般有两种内存管理方法:第一种是所有的内存作为一个区域整体进行操作,当需要分配内存时,就在整个区域中进行查找,找到一个合适的区域并予以使用。该方案有如下的缺点:搜索时间比较长、算法复杂;即为了寻找到合适的内存块,可能需要查找整个内存空间,且查找匹配的算法也会复杂化。还有一个缺点的是会造成内存分配的碎片,导致内存虽然还有大的内存量,但由于都是小块的内存,导致无法满足相对较大的内存申请需求。
[0004]另一种内存管理方法是对内存进行预先分区处理。该方法是为了解决第一种方法中的缺陷而设计的。其原理是将内存按照固定的大小各分配若干块,在内存进行申请的时候直接进行匹配,从适合的最小内存块中进行分配。如此匹配算法简单,且不会产生内存碎片。在之后又有一些变种,但是所有分配都是指定的,不会根据使用的过程而进行智能化的调整。

【发明内容】

[0005]本发明解决的问题是提供一种嵌入式系统的内存管理方法及管理系统,用以解决在嵌入式系统在使用过程中的内存浪费的现象,以提高内存使用效率,减低成本。
[0006]为了解决上述问题,本发明提供了一种嵌入式系统内存的管理方法,包括:提供内存统计,并基于所述内存统计对内存进行分配及管理,所述内存统计为所述嵌入式系统的内存使用记录。
[0007]可选的,还包括:对当前内存容量的使用进行记录,并加载至所述内存统计,以更新所述内存统计。
[0008]可选的,若所述嵌入式系统为第一次使用,则所述内存统计为零,所述内存分配为均匀分配。
[0009]可选的,还包括:输入用户使用偏好至所述内存统计,并基于增添有所述用户偏好的内存统计对内存进行分配及管理。
[0010]可选的,所述分配及管理包括:在当前周期前的各使用周期内,将各内存容量使用的峰值存储到内存统计的对应位置;在当前周期开机时,根据所述内存统计的统计信息,决定各内存分块的分配数量。
[0011]可选的,所述一个周期,是指从嵌入式系统中的内存管理的启动到停止的一个过程。
[0012]可选的,所述内存统计中记录有当前周期之前的若干周期的各个内存量级的块数峰值,在当前周期开始时,将内存统计中的各周期进行加权分析,以确定当前周期的各内存块量级的起始分配块数。
[0013]可选的,若在当嵌入式系统使用中,发生内存申请的操作,则将所述内存申请对应的内存块数值递增;若发生内存释放的操作,则将所述内存申请量对应的内存块数值递减。
[0014]可选的,所述内存递增时,将所述递增后的内存数值与内存的起始数值进行比较,若所述递增后的内存数值大,则更新所述内存的起始数值。
[0015]可选的,所述内存统计为本地存储或者云存储。
[0016]本发明还提供一种嵌入式系统内存的管理系统,包括:内存分配统计池,对内存容量的使用情况进行记录,以形成内存统计;
[0017]内存管理控制单元,根据内存分配统计池中的记录对内存空间进行控制处理;
[0018]内存空间,作为资源供内存管理控制单元使用。
[0019]与现有技术相比,本发明具有以下优点:设计了一种智能化的内存分配方案,以解决同一种设备在不同使用场景中的内存使用要求,达到最大化的使用内存的目的。系统的内存分配结构会随着使用偏好进行智能修改,达到更好的适应使用场景的要求,增强了系统的健壮性。
【附图说明】
[0020]图1所示为本发明一个实施例的嵌入式系统内存的管理系统的结构示意图。
【具体实施方式】
[0021]在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
[0022]其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。
[0023]现有的技术中,内存分配在嵌入式系统发布的时候是固定的,不会在使用过程中动态的调整,导致无法应对同一种设备不能应对多种使用场景的要求,而带来内存资源的浪费。
[0024]为了解决上述问题,本发明提供了一种嵌入式系统内存的管理方法,包括:提供内存统计,并基于所述内存统计对内存进行分配及管理,所述内存统计为所述嵌入式系统的内存使用记录。所述内存统计为本地存储或者云存储。
[0025]其中,所述分配及管理包括:在当前周期前的各使用周期内,将各内存容量使用的峰值存储到内存统计的对应位置;在当前周期开机时,根据所述内存统计的统计信息,决定各内存分块的分配数量。其中,所述一个周期,是指从嵌入式系统中的内存管理的启动到停止的一个过程。所述内存统计中记录有当前周期之前的若干周期的各个内存量级的块数峰值,在当前周期开始时,将内存统计中的各周期进行加权分析,以确定当前周期的各内存块量级的起始分配块数。
[0026]还包括:对当前内存容量的使用进行记录,并加载至所述内存统计,以更新所述内存统计,或者输入用户使用偏好至所述内存统计,并基于增添有所述用户偏好的内存统计对内存进行分配及管理。。若所述嵌入式系统为第一次使用,则所述内存统计为零,所述内存分配为均匀分配。
[0027]进一步地,若在当嵌入式系统使用中,发生内存申请的操作,则将所述内存申请对应的内
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1