CN104679666A - 一种嵌入式系统内存的管理方法及管理系统 - Google Patents
一种嵌入式系统内存的管理方法及管理系统 Download PDFInfo
- Publication number
- CN104679666A CN104679666A CN201310636844.0A CN201310636844A CN104679666A CN 104679666 A CN104679666 A CN 104679666A CN 201310636844 A CN201310636844 A CN 201310636844A CN 104679666 A CN104679666 A CN 104679666A
- Authority
- CN
- China
- Prior art keywords
- memory
- statistics
- embedded system
- management
- management method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本发明提供一种嵌入式系统内存的管理方法,包括:提供内存统计,并基于所述内存统计对内存进行分配及管理,所述内存统计为所述嵌入式系统的内存使用记录。本发明设计了一种智能化的内存分配方案,以解决同一种设备在不同使用场景中的内存使用要求,达到最大化的使用内存的目的。本发明还提供一种嵌入式系统内存的管理方法对应的管理系统,所述对应的管理系统的内存分配结构会随着使用偏好进行智能修改,达到更好的适应使用场景的要求,增强了系统的健壮性。
Description
技术领域
本发明涉及一种内存的管理方法,尤其涉及一种嵌入式系统内存的管理方法及管理系统。
背景技术
在嵌入式系统中,内存一直都是比较紧张的资源。在现在的复杂嵌入式设备中,随着业务的复杂度越来越高,对内存的需求也越来越多样化。而作为使用者,存在使用偏好的问题,也就是说用户一般只使用嵌入式设备中的某些业务功能,所以导致传统的内存使用存在一定的浪费。
在现有的内存管理方案中,一般有两种内存管理方法:第一种是所有的内存作为一个区域整体进行操作,当需要分配内存时,就在整个区域中进行查找,找到一个合适的区域并予以使用。该方案有如下的缺点:搜索时间比较长、算法复杂;即为了寻找到合适的内存块,可能需要查找整个内存空间,且查找匹配的算法也会复杂化。还有一个缺点的是会造成内存分配的碎片,导致内存虽然还有大的内存量,但由于都是小块的内存,导致无法满足相对较大的内存申请需求。
另一种内存管理方法是对内存进行预先分区处理。该方法是为了解决第一种方法中的缺陷而设计的。其原理是将内存按照固定的大小各分配若干块,在内存进行申请的时候直接进行匹配,从适合的最小内存块中进行分配。如此匹配算法简单,且不会产生内存碎片。在之后又有一些变种,但是所有分配都是指定的,不会根据使用的过程而进行智能化的调整。
发明内容
本发明解决的问题是提供一种嵌入式系统的内存管理方法及管理系统,用以解决在嵌入式系统在使用过程中的内存浪费的现象,以提高内存使用效率,减低成本。
为了解决上述问题,本发明提供了一种嵌入式系统内存的管理方法,包括:提供内存统计,并基于所述内存统计对内存进行分配及管理,所述内存统计为所述嵌入式系统的内存使用记录。
可选的,还包括:对当前内存容量的使用进行记录,并加载至所述内存统计,以更新所述内存统计。
可选的,若所述嵌入式系统为第一次使用,则所述内存统计为零,所述内存分配为均匀分配。
可选的,还包括:输入用户使用偏好至所述内存统计,并基于增添有所述用户偏好的内存统计对内存进行分配及管理。
可选的,所述分配及管理包括:在当前周期前的各使用周期内,将各内存容量使用的峰值存储到内存统计的对应位置;在当前周期开机时,根据所述内存统计的统计信息,决定各内存分块的分配数量。
可选的,所述一个周期,是指从嵌入式系统中的内存管理的启动到停止的一个过程。
可选的,所述内存统计中记录有当前周期之前的若干周期的各个内存量级的块数峰值,在当前周期开始时,将内存统计中的各周期进行加权分析,以确定当前周期的各内存块量级的起始分配块数。
可选的,若在当嵌入式系统使用中,发生内存申请的操作,则将所述内存申请对应的内存块数值递增;若发生内存释放的操作,则将所述内存申请量对应的内存块数值递减。
可选的,所述内存递增时,将所述递增后的内存数值与内存的起始数值进行比较,若所述递增后的内存数值大,则更新所述内存的起始数值。
可选的,所述内存统计为本地存储或者云存储。
本发明还提供一种嵌入式系统内存的管理系统,包括:内存分配统计池,对内存容量的使用情况进行记录,以形成内存统计;
内存管理控制单元,根据内存分配统计池中的记录对内存空间进行控制处理;
内存空间,作为资源供内存管理控制单元使用。
与现有技术相比,本发明具有以下优点:设计了一种智能化的内存分配方案,以解决同一种设备在不同使用场景中的内存使用要求,达到最大化的使用内存的目的。系统的内存分配结构会随着使用偏好进行智能修改,达到更好的适应使用场景的要求,增强了系统的健壮性。
附图说明
图1所示为本发明一个实施例的嵌入式系统内存的管理系统的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。
现有的技术中,内存分配在嵌入式系统发布的时候是固定的,不会在使用过程中动态的调整,导致无法应对同一种设备不能应对多种使用场景的要求,而带来内存资源的浪费。
为了解决上述问题,本发明提供了一种嵌入式系统内存的管理方法,包括:提供内存统计,并基于所述内存统计对内存进行分配及管理,所述内存统计为所述嵌入式系统的内存使用记录。所述内存统计为本地存储或者云存储。
其中,所述分配及管理包括:在当前周期前的各使用周期内,将各内存容量使用的峰值存储到内存统计的对应位置;在当前周期开机时,根据所述内存统计的统计信息,决定各内存分块的分配数量。其中,所述一个周期,是指从嵌入式系统中的内存管理的启动到停止的一个过程。所述内存统计中记录有当前周期之前的若干周期的各个内存量级的块数峰值,在当前周期开始时,将内存统计中的各周期进行加权分析,以确定当前周期的各内存块量级的起始分配块数。
还包括:对当前内存容量的使用进行记录,并加载至所述内存统计,以更新所述内存统计,或者输入用户使用偏好至所述内存统计,并基于增添有所述用户偏好的内存统计对内存进行分配及管理。。若所述嵌入式系统为第一次使用,则所述内存统计为零,所述内存分配为均匀分配。
进一步地,若在当嵌入式系统使用中,发生内存申请的操作,则将所述内存申请对应的内存块数值递增;若发生内存释放的操作,则将所述内存申请量对应的内存块数值递减。所述内存递增时,将所述递增后的内存数值与内存的起始数值进行比较,若所述递增后的内存数值大,则更新所述内存的起始数值。
本发明还提供一种嵌入式系统内存的管理系统,如图1所示,包括:内存分配统计池01,对内存容量的使用情况进行记录,以形成内存统计;
内存管理控制单元02,根据内存分配统计池中的记录对内存空间进行控制处理;
内存空间03,作为资源供内存管理控制单元使用。
其中,内存分配统计池是对各次、各个大小的内存容量需求情况进行记录;内存管理控制单元是根据内存分配统计池中的记录对内存空间进行控制处理;内存空间部分是作为资源供内存管理控制单元使用。
在嵌入式系统中,一个使用周期可以理解为从开机到关机的过程。在一个周期内,将各个大小的内存容量需求的峰值存储到内存分配统计池的对应位置。在下一周期的开机时,正对内存分配统计池的统计信息,来决定各个大小的内存分块需要分配多大的数量。
在新的系统中,内存分配统计池中各周期中所有块数的值都是默认值,因此所有的新设备的内存分配结构都是一样的。
下面举一个例子说明。手机是一种嵌入式设备,而在手机中存在多种应用,以WAP Browser和Java Game为例,有些使用者喜欢上网浏览网页,假定为A;有些使用者喜欢享受游戏的过程,假定为B当A和B都拿到手机的时候,其内存分配统计池中内容为默认值,所以第一次开机两者的内存结构形式一致。但是由于在上网浏览过程中较大的内存需求比较多,而在游戏过程中少量的内存容量较多,所以在一次又一次的周期后,A的手机中的内存分配结构较大的内存块数量增多,而在B的手机中内存分配结构中的小块内存块增多。如此,A手机中不会存在太多的未使用的小内存块,而B手机中也不会因为大的内存块做小的内存需求来分配,从而达到提高内存使用效率的目的。
与现有技术相比,本发明具有以下优点:设计了一种智能化的内存分配方案,以解决同一种设备在不同使用场景中的内存使用要求,达到最大化的使用内存的目的。系统的内存分配结构会随着使用偏好进行智能修改,达到更好的适应使用场景的要求,增强了系统的健壮性。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (11)
1.一种嵌入式系统内存的管理方法,其特征在于,包括:提供内存统计,并基于所述内存统计对内存进行分配及管理,所述内存统计为所述嵌入式系统的内存使用记录。
2.如权利要求1所述的嵌入式系统内存的管理方法,其特征在于,还包括:对当前内存容量的使用进行记录,并加载至所述内存统计,以更新所述内存统计。
3.如权利要求1所述的嵌入式系统内存的管理方法,其特征在于,若所述嵌入式系统为第一次使用,则所述内存统计为零,所述内存分配为均匀分配。
4.如权利要求1所述的嵌入式系统内存的管理方法,其特征在于,还包括:输入用户使用偏好至所述内存统计,并基于增添有所述用户偏好的内存统计对内存进行分配及管理。
5.如权利要求1所述的嵌入式系统内存的管理方法,其特征在于,所述分配及管理包括:在当前周期前的各使用周期内,将各内存容量使用的峰值存储到内存统计的对应位置;在当前周期开机时,根据所述内存统计的统计信息,决定各内存分块的分配数量。
6.如权利要求5所述的嵌入式系统内存的管理方法,其特征在于,所述一个周期,是指从嵌入式系统中的内存管理的启动到停止的一个过程。
7.如权利要求5所述的嵌入式系统内存的管理方法,其特征在于,所述内存统计中记录有当前周期之前的若干周期的各个内存量级的块数峰值,在当前周期开始时,将内存统计中的各周期进行加权分析,以确定当前周期的各内存块量级的起始分配块数。
8.如权利要求1所述的嵌入式系统内存的管理方法,其特征在于,若在当嵌入式系统使用中,发生内存申请的操作,则将所述内存申请对应的内存块数值递增;若发生内存释放的操作,则将所述内存申请量对应的内存块数值递减。
9.如权利要求8所述的嵌入式系统内存的管理方法,其特征在于,所述内存递增时,将所述递增后的内存数值与内存的起始数值进行比较,若所述递增后的内存数值大,则更新所述内存的起始数值。
10.如权利要求1所述的嵌入式系统内存的管理方法,其特征在于,所述内存统计为本地存储或者云存储。
11.一种嵌入式系统内存的管理系统,其特征在于,包括:
内存分配统计池,对内存容量的使用情况进行记录,以形成内存统计;
内存管理控制单元,根据内存分配统计池中的记录对内存空间进行控制处理;
内存空间,作为资源供所述内存管理控制单元使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310636844.0A CN104679666A (zh) | 2013-12-02 | 2013-12-02 | 一种嵌入式系统内存的管理方法及管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310636844.0A CN104679666A (zh) | 2013-12-02 | 2013-12-02 | 一种嵌入式系统内存的管理方法及管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104679666A true CN104679666A (zh) | 2015-06-03 |
Family
ID=53314744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310636844.0A Pending CN104679666A (zh) | 2013-12-02 | 2013-12-02 | 一种嵌入式系统内存的管理方法及管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104679666A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844046A (zh) * | 2016-12-31 | 2017-06-13 | 昊宏广泰(北京)科技有限公司 | 宽带载波内存管理算法 |
CN111562986A (zh) * | 2020-05-11 | 2020-08-21 | 上海加糖科技有限公司 | 内存分配方法、装置、电子设备和计算机可读存储介质 |
US11099900B2 (en) | 2016-09-27 | 2021-08-24 | Huawei Technologies Co., Ltd. | Memory reclamation method and apparatus |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661436A (zh) * | 2009-09-30 | 2010-03-03 | 中兴通讯股份有限公司 | 一种嵌入式系统内存动态分配方法及装置 |
CN102193814A (zh) * | 2010-03-09 | 2011-09-21 | 上海拜翰网络科技有限公司 | 嵌入式虚拟化内存动态分配方法及系统 |
CN102685590A (zh) * | 2012-05-14 | 2012-09-19 | 深圳市九洲电器有限公司 | 机顶盒内存管理方法及装置 |
CN102866953A (zh) * | 2011-07-08 | 2013-01-09 | 风网科技(北京)有限公司 | 存储管理系统及其存储管理方法 |
-
2013
- 2013-12-02 CN CN201310636844.0A patent/CN104679666A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661436A (zh) * | 2009-09-30 | 2010-03-03 | 中兴通讯股份有限公司 | 一种嵌入式系统内存动态分配方法及装置 |
CN102193814A (zh) * | 2010-03-09 | 2011-09-21 | 上海拜翰网络科技有限公司 | 嵌入式虚拟化内存动态分配方法及系统 |
CN102866953A (zh) * | 2011-07-08 | 2013-01-09 | 风网科技(北京)有限公司 | 存储管理系统及其存储管理方法 |
CN102685590A (zh) * | 2012-05-14 | 2012-09-19 | 深圳市九洲电器有限公司 | 机顶盒内存管理方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11099900B2 (en) | 2016-09-27 | 2021-08-24 | Huawei Technologies Co., Ltd. | Memory reclamation method and apparatus |
CN106844046A (zh) * | 2016-12-31 | 2017-06-13 | 昊宏广泰(北京)科技有限公司 | 宽带载波内存管理算法 |
CN106844046B (zh) * | 2016-12-31 | 2021-06-11 | 北京市腾河智慧能源科技有限公司 | 宽带载波内存管理方法 |
CN111562986A (zh) * | 2020-05-11 | 2020-08-21 | 上海加糖科技有限公司 | 内存分配方法、装置、电子设备和计算机可读存储介质 |
CN111562986B (zh) * | 2020-05-11 | 2023-05-16 | 上海加糖科技有限公司 | 内存分配方法、装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11146502B2 (en) | Method and apparatus for allocating resource | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
US10572285B2 (en) | Method and apparatus for elastically scaling virtual machine cluster | |
US20170192819A1 (en) | Method and electronic device for resource allocation | |
CN104731799B (zh) | 内存数据库管理装置 | |
CN104506950A (zh) | 网络流媒体播放中的多线程下载方法、装置及下载设备 | |
CN103942098A (zh) | 一种任务处理系统和方法 | |
CN106155812A (zh) | 一种对虚拟主机的资源管理的方法、装置、系统及电子设备 | |
CN102063385A (zh) | 一种内存管理方法和系统 | |
CN103873587B (zh) | 一种基于云平台实现调度的方法及装置 | |
CN106095589A (zh) | 一种分配分区的方法、装置及系统 | |
CN101808121A (zh) | 一种移动终端服务器日志写入数据库的方法和装置 | |
CN104796880B (zh) | 客户识别模块sim卡资源分配方法、相关设备及系统 | |
CN103902357A (zh) | 应用程序管理系统及方法 | |
CN102711139A (zh) | 一种数据流量统计方法及终端 | |
CN103002044A (zh) | 一种提高多平台智能终端处理能力的方法 | |
CN108681481A (zh) | 业务请求的处理方法及装置 | |
CN109902059A (zh) | 一种cpu与gpu之间的数据传输方法 | |
CN104679666A (zh) | 一种嵌入式系统内存的管理方法及管理系统 | |
CN106021512A (zh) | 一种页面刷新方法及装置 | |
CN104571930A (zh) | 一种安全域存储空间的管理方法、系统和多应用开放平台装置 | |
CN109408463A (zh) | 文件分布式存储方法及装置、节点服务器 | |
CN103188567A (zh) | 在电视上移植物联网通讯模块的方法 | |
CN102497410B (zh) | 一种云计算系统计算资源动态分区的方法 | |
CN104050100B (zh) | 一种适用于大数据环境的数据流存储管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150603 |