CN110471759A - 一种多核嵌入式处理器内存实时动态管理方法 - Google Patents

一种多核嵌入式处理器内存实时动态管理方法 Download PDF

Info

Publication number
CN110471759A
CN110471759A CN201910598733.2A CN201910598733A CN110471759A CN 110471759 A CN110471759 A CN 110471759A CN 201910598733 A CN201910598733 A CN 201910598733A CN 110471759 A CN110471759 A CN 110471759A
Authority
CN
China
Prior art keywords
memory
information
operating system
data structure
program
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.)
Granted
Application number
CN201910598733.2A
Other languages
English (en)
Other versions
CN110471759B (zh
Inventor
高明晋
甘云飏
周一青
石晶林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Jingshang (suzhou) Information Technology Co Ltd
Original Assignee
Zhongke Jingshang (suzhou) Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongke Jingshang (suzhou) Information Technology Co Ltd filed Critical Zhongke Jingshang (suzhou) Information Technology Co Ltd
Priority to CN201910598733.2A priority Critical patent/CN110471759B/zh
Publication of CN110471759A publication Critical patent/CN110471759A/zh
Application granted granted Critical
Publication of CN110471759B publication Critical patent/CN110471759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多核嵌入式处理器内存实时动态管理方法,通过部署主程序和代理程序,实现对操作系统内存使用情况的监测,并根据监测的结果或操作系统的需要,采用被动扩展回收和主动扩展回收的方法,实现能够根据预先设定内存参数及内存参数的阈值,定时动态管理内存,有效提升了嵌入式多核处理器内存资源利用率。

Description

一种多核嵌入式处理器内存实时动态管理方法
技术领域
本发明属于物联网技术领域,具体涉及一种多核嵌入式处理器内存实时动态管理方法。
背景技术
嵌入式多核处理器已经在嵌入式设备领域得到广泛运用。现有技术中,在嵌入式实时操作系统的动态内存管理方面,已有多种算法,例如Sequential Fit算法、Buddy Fit算法、BitmapFit算法及TLSF算法等,这些算法都能够对操作系统内的内存进行动态分配,且其时间复杂度都保证在对数级以内;在多核操作系统方面,当前存在一种通过将内存与cache划分为四个区域以避免高优先级硬实时任务受到其他任务通过cache干扰的方法,该方法能够提高系统的实时性和稳定性。但是,现有的嵌入式操作系统的内存管理方法主要是针对单操作系统内部的内存分配,针对多核操作系统的内存划分方法主要解决的是操作系统中任务之间相互干扰的问题,缺乏通过对多操作系统的内存进行动态分配以提升内存资源利用率的方法。
发明内容
有鉴于此,本发明提供了一种多核嵌入式处理器内存实时动态管理方法,通过部署主程序和代理程序,实现对操作系统内存使用情况的监测,并根据监测的结果或操作系统的需要,采用被动扩展回收和主动扩展回收的方法,实现对多核嵌入式处理器内存的实时动态管理。
本发明提供的一种多核嵌入式处理器内存实时动态管理方法,通过在多核嵌入式处理器内,选取任一操作系统部署主程序,其余操作系统均部署代理程序,实现对所述多核嵌入式处理器内存的实时动态管理,具体包括如下步骤:
所述主程序按照预设的内存分配方式为各操作系统分配内存并完成初始化,并将各内存信息记录在相应的分配内存中;
所述代理程序根据,周期性的获取其所在操作系统当前的内存信息,根据内存信息计算内存参数的取值,当取值小于内存参数阈值且保持至少n个监控周期时,启动内存被动扩展,当取值大于内存参数阈值且保持至少n个监控周期时则启动内存被动回收,执行完毕后,更新内存信息;
各操作系统根据需要通过代理程序向主程序申请主动扩展或主动回收内存,执行完毕后,更新所述内存信息。
进一步地,所述内存信息包括内存容量、已占用空间大小、首地址、编号及是否分配;所述内存参数包括空闲内存空间最小值、内存占用率及内存碎片率。
进一步地,所述主程序在内存的开始处保存反应内存占用情况的数据结构,包括已被占用内存数据结构和可分配内存数据结构。
进一步地,所述被动扩展过程包括如下步骤:
步骤4.1、代理程序根据获取的操作系统内存信息及设定的内存参数阈值,计算出其所在操作系统所需的内存容量,并向主程序发送包含所需内存空间大小的扩展内存请求;
步骤4.2、主程序根据所述可分配内存数据结构中的信息判断与该操作系统已有内存相邻的后块内存是否可分配,若可分配且容量大于所述所需内存空间大小,则记录其内存信息,并将其从所述可分配内存数据结构中删除;若不可分配或容量小于所述所需内存空间大小,则选择所述可分配内存数据结构记录的容量大于或等于所述所需内存空间大小的内存中容量最小的内存,记录其内存信息,再将其从所述可分配内存数据结构中删除;
步骤4.3、当步骤4.2中选择的内存其容量大于所述所需内存空间大小时,主程序将该内存分割为应扩展空间和剩余空间两部分,然后,将应扩展空间的内存信息发送到代理程序,将剩余空间的内存信息存入所述可分配内存数据结构中;当步骤4.2中选择的内存其容量等于所述所需内存空间大小时,主程序将该内存的内存信息发送到代理程序;
步骤4.4、代理程序根据收到的内存信息,将该内存信息对应内存空间加入操作系统内存中,并将扩展内存后的内存信息更新到该操作系统内存中。
进一步地,所述被动回收过程包括如下步骤:
步骤5.1、代理程序获取操作系统内存中可回收的内存地址,并将该内存地址发送到主程序;
步骤5.2、主程序根据收到的内存地址向代理程序发送回收指令,代理程序根据回收指令在操作系统中删除该内存;
步骤5.3、主程序将该内存的内存信息存入所述可分配内存数据结构中,并将该内存与相邻未分配的内存合并;
步骤5.4、代理程序获取操作系统当前的内存信息计算内存参数取值,当取值大于内存参数阈值时,则执行步骤5.1;当取值等于内存参数阈值时,则结束被动回收过程;当取值小于内存参数阈值时,则对内存进行被动扩展。
进一步地,所述主动扩展过程包括如下步骤:
步骤6.1、代理程序向主程序发送包含所需内存空间大小的扩展内存的请求;
步骤6.2、主程序根据所述可分配内存数据结构中的信息判断与该操作系统已有内存相邻的后块内存是否可分配,若可分配且容量大于所述所需内存空间大小,则记录其内存信息,并将其从所述可分配内存数据结构中删除;若不可分配或容量小于所述所需内存空间大小,则选择所述可分配内存数据结构记录的容量大于或等于所述所需内存空间大小的内存中容量最小的内存,记录其内存信息,再将其从所述可分配内存数据结构中删除;
步骤6.3、当步骤6.2中选择的内存其容量大于所述所需内存空间大小时,主程序将该内存分割为应扩展空间和剩余空间两部分,然后,将扩展空间的内存信息发送到代理程序,将剩余空间的内存信息存入所述可分配内存数据结构中;当步骤6.2中选择的内存其容量等于所述所需内存空间大小时,主程序将该内存的内存信息发送到代理程序;
步骤6.4、代理程序根据收到的所述扩展空间的内存信息,将扩展空间其加入操作系统内存中,并将扩展内存后的内存信息更新到该操作系统内存中。
进一步地,所述主动回收过程包括如下步骤:
步骤7.1、代理程序向主程序发送包含需要回收内存的内存信息的主动回收请求;
步骤7.2、主程序根据收到的需要回收内存的内存信息向代理程序发送回收指令,代理程序根据回收指令在操作系统中删除该内存;
步骤7.3、主程序将需要回收内存的内存信息存入所述可分配内存数据结构中,并将其与相邻未分配的内存合并。
进一步地,所述已被占用内存数据结构包括一维数组和链表,数组的索引表示各个操作系统的编号,数组内的每个元素为存放该索引对应的内存信息的链表的表头;链表用于存放所述内存信息。
进一步地,所述可分配内存数据结构包括二维位图和链表,链表用于存放所述内存信息;二维位图按照内存容量对内存进行分类,当从二维位图中查找内存时,则找出容量大于所需容量的内存中容量最小的内存。
进一步地,所述监控周期、内存参数及内存参数阈值由用户定义的配置文件设定。
有益效果:
本发明通过设计多核处理器内存的被动扩展回收和主动扩展回收方法,能够根据预先设定内存参数及内存参数的阈值,定时动态管理内存,有效提升了嵌入式多核处理器内存资源利用率。
附图说明
图1为本发明提供的一种多核嵌入式处理器内存实时动态管理方法的部署方式示意图。
图2为本发明提供的一种多核嵌入式处理器内存实时动态管理方法的内存被动扩展流程图。
图3为本发明提供的一种多核嵌入式处理器内存实时动态管理方法的内存被动回收流程图。
图4为本发明提供的一种多核嵌入式处理器内存实时动态管理方法的内存主动扩展流程图。
图5为本发明提供的一种多核嵌入式处理器内存实时动态管理方法的内存主动回收流程图。
图6为本发明提供的一种多核嵌入式处理器内存实时动态管理方法的已被占用内存数据结构示意图。
图7为本发明提供的一种多核嵌入式处理器内存实时动态管理方法的可分配内存数据结构示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供的一种多核嵌入式处理器内存实时动态管理方法,其部署方式如图1所示,通过在多核嵌入式处理器中分别部署主程序和代理程序,实现对内存的实时动态管理,具体来说,选定在某个处理器内核操作系统上部署主程序,在其他处理器内核操作系统上均部署代理程序;主程序能够与代理程序通信,并控制内存的分配与回收;代理程序能够与其所在操作系统的内存管理模块通信,并能够调用主程序的内存操作函数。多核嵌入式处理器内存实时动态管理具体包括如下步骤:
1、初始化过程:
主程序在内存的开始处保存反应内存占用情况的数据结构,包括已被占用内存数据结构和可分配内存数据结构,其中,已被占用内存数据结构通过一维数组与链表共同管理,其结构如图6所示,数组的索引表示各个操作系统的编号,数组的每个元素为存放该索引对应的内存块的链表的表头,链表内的各个元素存放该内存的内存容量、已占用空间大小、首地址、编号及是否分配等信息。可分配内存数据结构通过一个二维位图与链表维护,其结构如图7所示,链表的每个元素同样存放该内存的内存容量、已占用空间大小、首地址、编号及是否分配等信息;该二维位图按照内存大小对内存块进行分类,当需要从二维位图中查找时,直接按照所需大小找出最小的大小合适的内存块。
然后,主程序按照预设的内存分配方式为各操作系统分配内存,并对各内存进行初始化,并将各内存信息记录在相应的分配内存中,这里内存信息包括内存容量、已占用空间大小、首地址、编号及是否分配等信息。
2、内存被动动态适配
内存被动动态适配过程包括被动扩展与被动回收。
所述代理程序根据预设的监控周期、内存参数及内存参数阈值,周期性的获取其所在操作系统当前的内存信息,根据内存信息计算内存参数的取值,当取值小于内存参数阈值时对内存进行被动扩展,当取值大于内存参数阈值时则被动回收,执行完毕后,更新内存信息;各操作系统根据需要通过代理程序向主程序申请主动扩展或主动回收内存,执行完毕后,更新所述内存信息。
代理程序可从用户的配置文件中读入预设的监控周期、内存参数及内存参数阈值,其中,内存参数为选定的用于判断内存是否需要扩展或回收的参数,例如:空闲内存大小、内存占用率、内存碎片率,然后,根据该监控周期对内存参数进行监控。
以内存使用率作为内存参数为例,说明动态适配过程如下:每隔监控周期Δt,各操作系统上的代理程序获取其所在的操作系统的内存信息,即内存容量、已占用空间大小,并根据该内存信息计算操作系统i当前的内存使用率σi,若σithreshold,其中,σthreshold为内存使用率阈值,且这种小于阈值的状态至少保持了n个监控周期时,则认为当前操作系统的内存较为紧凑,应对内存进行适当的被动扩展,被动扩展过程如2.1所述;反之,则认为当前操作系统的内存较为富裕,应对内存进行适当的被动回收,被动回收过程如2.2所述。此外,该机制可在修改配置文件中的相关选项后,修改要监控的参数、监控周期以及扩展和回收的阈值,也可同时监控多个参数,在其同时满足条件或至少一个满足条件时进行扩展或回收。
这样,可以让操作系统所占用的内存与其所需要的内存相契合,可在内存可能不足的情况下提前对内存进行扩展,防止操作系统所持有的内存资源耗尽。
2.1内存被动扩展
内存被动扩展的操作流程如图2所示。
步骤2.1.1、代理程序根据获取的操作系统内存信息及设定的内存参数阈值,计算出其所在操作系统所需的内存空间大小,并向主程序发送包含所需内存空间大小的扩展内存请求;
步骤2.1.2、主程序根据所述可分配内存数据结构中的信息判断与该操作系统已有内存相邻的后块内存是否可分配,若可分配且容量大于所述所需内存空间大小,则记录其内存信息,并将其从所述可分配内存数据结构中删除;若不可分配或容量小于所述所需内存空间大小,则选择所述可分配内存数据结构记录的容量大于或等于所述所需内存空间大小的内存中容量最小的内存,记录其内存信息,再将其从所述可分配内存数据结构中删除;
步骤2.1.3、当步骤2.1.2中选择的内存其容量大于所述所需内存空间大小时,主程序将该内存分割为应扩展空间和剩余空间两部分,然后,将扩展空间的内存信息发送到代理程序,将剩余空间的内存信息存入所述可分配内存数据结构中;当步骤2.1.2中选择的内存其容量等于所述所需内存空间大小时,主程序将该内存的内存信息发送到代理程序;
步骤2.1.4、代理程序根据收到的所述扩展空间的内存信息,将扩展空间其加入操作系统内存中,并将扩展内存后的内存信息更新到该操作系统内存中。
2.2内存被动回收
内存被动回收的操作流程如图3所示。
步骤2.2.1、代理程序获取操作系统内存中可回收的内存地址,并将该内存地址发送到主程序;
步骤2.2.2、主程序根据收到的内存地址向代理程序发送回收指令,代理程序根据回收指令在操作系统中删除该内存;
步骤2.2.3、主程序将该内存的内存信息存入所述可分配内存数据结构中,并将该内存与相邻未分配的内存合并;
步骤2.2.4、代理程序获取操作系统当前的内存信息、计算内存参数取值,当取值大于内存参数阈值时,则执行步骤2.2.1;当取值大于内存参数阈值时,则结束被动回收过程;当取值小于内存参数阈值时,则对内存进行被动扩展。
3、内存主动适配
本发明除了能够被动监管内存外,在有需要的情况下,操作系统能够通过代理程序主动向主程序申请扩展或回收内存。
3.1内存主动扩展
内存主动扩展的操作流程如图4所示。
步骤3.1.1、代理程序向主程序发送包含所需内存空间大小的扩展内存的请求;
步骤3.1.2、主程序根据所述可分配内存数据结构中的信息判断与该操作系统已有内存相邻的后块内存是否可分配,若可分配且容量大于所述所需内存空间大小,则记录其内存信息,并将其从所述可分配内存数据结构中删除;若不可分配或容量小于所述所需内存空间大小,则选择所述可分配内存数据结构记录的容量大于或等于所述所需内存空间大小的内存中容量最小的内存,记录其内存信息,再将其从所述可分配内存数据结构中删除;
步骤3.1.3、当步骤3.1.2中选择的内存其容量大于所述所需内存空间大小时,主程序将该内存分割为应扩展空间和剩余空间两部分,然后,将扩展空间的内存信息发送到代理程序,将剩余空间的内存信息存入所述可分配内存数据结构中;当步骤3.1.2中选择的内存其容量等于所述所需内存空间大小时,主程序将该内存的内存信息发送到代理程序;
步骤3.1.4、代理程序根据收到的所述扩展空间的内存信息,将扩展空间其加入操作系统内存中,并将扩展内存后的内存信息更新到该操作系统内存中。
3.2内存主动回收
内存主动扩展的操作流程如图5所示。
步骤3.2.1、代理程序向主程序发送包含需要回收内存的内存信息的主动回收请求;
步骤3.2.2、主程序根据收到的需要回收内存的内存信息向代理程序发送回收指令,代理程序根据回收指令在操作系统中删除该内存;
步骤3.2.3、主程序将需要回收内存的内存信息存入所述可分配内存数据结构中,并将其与相邻未分配的内存合并。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多核嵌入式处理器内存实时动态管理方法,其特征在于,通过在多核嵌入式处理器内,选取任一操作系统部署主程序,其余操作系统均部署代理程序,实现对所述多核嵌入式处理器内存的实时动态管理,具体包括如下步骤:
所述主程序按照预设的内存分配方式为各操作系统分配内存并完成初始化,并将各内存信息记录在相应的分配内存中;
所述代理程序根据,周期性的获取其所在操作系统当前的内存信息,根据内存信息计算内存参数的取值,当取值小于内存参数阈值且保持至少n个监控周期时,启动内存被动扩展,当取值大于内存参数阈值且保持至少n个监控周期时则启动内存被动回收,执行完毕后,更新内存信息;
各操作系统根据需要通过代理程序向主程序申请主动扩展或主动回收内存,执行完毕后,更新所述内存信息。
2.根据权利要求1所述的方法,其特征在于,所述内存信息包括内存容量、已占用空间大小、首地址、编号及是否分配;所述内存参数包括空闲内存空间最小值、内存占用率及内存碎片率。
3.根据权利要求2所述的方法,其特征在于,所述主程序在内存的开始处保存反应内存占用情况的数据结构,包括已被占用内存数据结构和可分配内存数据结构。
4.根据权利要求3所述的方法,其特征在于,所述被动扩展过程包括如下步骤:
步骤4.1、代理程序根据获取的操作系统内存信息及设定的内存参数阈值,计算出其所在操作系统所需的内存容量,并向主程序发送包含所需内存空间大小的扩展内存请求;
步骤4.2、主程序根据所述可分配内存数据结构中的信息判断与该操作系统已有内存相邻的后块内存是否可分配,若可分配且容量大于所述所需内存空间大小,则记录其内存信息,并将其从所述可分配内存数据结构中删除;若不可分配或容量小于所述所需内存空间大小,则选择所述可分配内存数据结构记录的容量大于或等于所述所需内存空间大小的内存中容量最小的内存,记录其内存信息,再将其从所述可分配内存数据结构中删除;
步骤4.3、当步骤4.2中选择的内存其容量大于所述所需内存空间大小时,主程序将该内存分割为应扩展空间和剩余空间两部分,然后,将应扩展空间的内存信息发送到代理程序,将剩余空间的内存信息存入所述可分配内存数据结构中;当步骤4.2中选择的内存其容量等于所述所需内存空间大小时,主程序将该内存的内存信息发送到代理程序;
步骤4.4、代理程序根据收到的内存信息,将该内存信息对应内存空间加入操作系统内存中,并将扩展内存后的内存信息更新到该操作系统内存中。
5.根据权利要求3所述的方法,其特征在于,所述被动回收过程包括如下步骤:
步骤5.1、代理程序获取操作系统内存中可回收的内存地址,并将该内存地址发送到主程序;
步骤5.2、主程序根据收到的内存地址向代理程序发送回收指令,代理程序根据回收指令在操作系统中删除该内存;
步骤5.3、主程序将该内存的内存信息存入所述可分配内存数据结构中,并将该内存与相邻未分配的内存合并;
步骤5.4、代理程序获取操作系统当前的内存信息计算内存参数取值,当取值大于内存参数阈值时,则执行步骤5.1;当取值等于内存参数阈值时,则结束被动回收过程;当取值小于内存参数阈值时,则对内存进行被动扩展。
6.根据权利要求3所述的方法,其特征在于,所述主动扩展过程包括如下步骤:
步骤6.1、代理程序向主程序发送包含所需内存空间大小的扩展内存的请求;
步骤6.2、主程序根据所述可分配内存数据结构中的信息判断与该操作系统已有内存相邻的后块内存是否可分配,若可分配且容量大于所述所需内存空间大小,则记录其内存信息,并将其从所述可分配内存数据结构中删除;若不可分配或容量小于所述所需内存空间大小,则选择所述可分配内存数据结构记录的容量大于或等于所述所需内存空间大小的内存中容量最小的内存,记录其内存信息,再将其从所述可分配内存数据结构中删除;
步骤6.3、当步骤6.2中选择的内存其容量大于所述所需内存空间大小时,主程序将该内存分割为应扩展空间和剩余空间两部分,然后,将扩展空间的内存信息发送到代理程序,将剩余空间的内存信息存入所述可分配内存数据结构中;当步骤6.2中选择的内存其容量等于所述所需内存空间大小时,主程序将该内存的内存信息发送到代理程序;
步骤6.4、代理程序根据收到的所述扩展空间的内存信息,将扩展空间其加入操作系统内存中,并将扩展内存后的内存信息更新到该操作系统内存中。
7.根据权利要求3所述的方法,其特征在于,所述主动回收过程包括如下步骤:
步骤7.1、代理程序向主程序发送包含需要回收内存的内存信息的主动回收请求;
步骤7.2、主程序根据收到的需要回收内存的内存信息向代理程序发送回收指令,代理程序根据回收指令在操作系统中删除该内存;
步骤7.3、主程序将需要回收内存的内存信息存入所述可分配内存数据结构中,并将其与相邻未分配的内存合并。
8.根据权利要求3所述的方法,其特征在于,所述已被占用内存数据结构包括一维数组和链表,数组的索引表示各个操作系统的编号,数组内的每个元素为存放该索引对应的内存信息的链表的表头;链表用于存放所述内存信息。
9.根据权利要求3所述的方法,其特征在于,所述可分配内存数据结构包括二维位图和链表,链表用于存放所述内存信息;二维位图按照内存容量对内存进行分类,当从二维位图中查找内存时,则找出容量大于所需容量的内存中容量最小的内存。
10.根据权利要求1所述的方法,其特征在于,所述监控周期、内存参数及内存参数阈值由用户定义的配置文件设定。
CN201910598733.2A 2019-07-04 2019-07-04 一种多核嵌入式处理器内存实时动态管理方法 Active CN110471759B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910598733.2A CN110471759B (zh) 2019-07-04 2019-07-04 一种多核嵌入式处理器内存实时动态管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910598733.2A CN110471759B (zh) 2019-07-04 2019-07-04 一种多核嵌入式处理器内存实时动态管理方法

Publications (2)

Publication Number Publication Date
CN110471759A true CN110471759A (zh) 2019-11-19
CN110471759B CN110471759B (zh) 2023-09-01

Family

ID=68506820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910598733.2A Active CN110471759B (zh) 2019-07-04 2019-07-04 一种多核嵌入式处理器内存实时动态管理方法

Country Status (1)

Country Link
CN (1) CN110471759B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061612A (zh) * 2019-12-12 2020-04-24 天地伟业技术有限公司 一种嵌入式系统状态监控方法
CN115185615A (zh) * 2022-09-09 2022-10-14 湖南三湘银行股份有限公司 基于内存空间优化的插件程序调用方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055533A (zh) * 2007-05-28 2007-10-17 中兴通讯股份有限公司 一种多线程处理器动态内存管理系统及方法
JP2011257973A (ja) * 2010-06-09 2011-12-22 Victor Co Of Japan Ltd メモリ管理方法及びメモリ管理装置
CN102508717A (zh) * 2011-11-17 2012-06-20 大唐移动通信设备有限公司 一种应用于多核处理器的内存调度方法及装置
CN103814357A (zh) * 2011-09-23 2014-05-21 高通股份有限公司 经由虚拟机迁移的存储器相干性加速
WO2014094472A1 (zh) * 2012-12-17 2014-06-26 华为技术有限公司 一种全局内存共享方法、装置和一种通信系统
CN104572483A (zh) * 2015-01-04 2015-04-29 华为技术有限公司 动态内存管理装置及方法
WO2015103864A1 (zh) * 2014-01-09 2015-07-16 深圳Tcl新技术有限公司 内存管理的方法及Linux终端
WO2018018896A1 (zh) * 2016-07-29 2018-02-01 华为技术有限公司 内存管理装置和方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101055533A (zh) * 2007-05-28 2007-10-17 中兴通讯股份有限公司 一种多线程处理器动态内存管理系统及方法
JP2011257973A (ja) * 2010-06-09 2011-12-22 Victor Co Of Japan Ltd メモリ管理方法及びメモリ管理装置
CN103814357A (zh) * 2011-09-23 2014-05-21 高通股份有限公司 经由虚拟机迁移的存储器相干性加速
CN102508717A (zh) * 2011-11-17 2012-06-20 大唐移动通信设备有限公司 一种应用于多核处理器的内存调度方法及装置
WO2014094472A1 (zh) * 2012-12-17 2014-06-26 华为技术有限公司 一种全局内存共享方法、装置和一种通信系统
WO2015103864A1 (zh) * 2014-01-09 2015-07-16 深圳Tcl新技术有限公司 内存管理的方法及Linux终端
CN104572483A (zh) * 2015-01-04 2015-04-29 华为技术有限公司 动态内存管理装置及方法
WO2018018896A1 (zh) * 2016-07-29 2018-02-01 华为技术有限公司 内存管理装置和方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061612A (zh) * 2019-12-12 2020-04-24 天地伟业技术有限公司 一种嵌入式系统状态监控方法
CN115185615A (zh) * 2022-09-09 2022-10-14 湖南三湘银行股份有限公司 基于内存空间优化的插件程序调用方法
CN115185615B (zh) * 2022-09-09 2022-12-02 湖南三湘银行股份有限公司 基于内存空间优化的插件程序调用方法

Also Published As

Publication number Publication date
CN110471759B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
CN103930875B (zh) 用于加速业务数据处理的软件虚拟机
CN104731799B (zh) 内存数据库管理装置
JP5516744B2 (ja) スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法
CN103425538B (zh) 进程通讯方法及系统
CN104978361B (zh) 动力环境实时监控数据存储方法及装置
CN104462432B (zh) 自适应的分布式计算方法
CN106095589B (zh) 一种分配分区的方法、装置及系统
CN101609432A (zh) 共享缓存管理系统及方法
CN103118132B (zh) 一种面向时空数据的分布式缓存系统及方法
CN108182213A (zh) 一种基于分布式系统的数据处理优化装置及方法
CN110321301A (zh) 一种数据处理的方法及装置
CN110471759A (zh) 一种多核嵌入式处理器内存实时动态管理方法
CN109085999A (zh) 数据处理方法及处理系统
CN102043859A (zh) 数据更新方法及装置
CN113495889B (zh) 一种分布式对象存储方法、装置、电子设备及存储介质
CN104270412A (zh) 一种基于Hadoop分布式文件系统的三级缓存方法
CN111737168A (zh) 一种缓存系统、缓存处理方法、装置、设备及介质
CN104111896B (zh) 大数据处理中的虚拟内存管理方法及其装置
KR20170052441A (ko) 중앙 집중 분산 시스템 및 그것의 동작 방법
CN109710668A (zh) 一种多源异构数据访问中间件构建方法
CN108614847A (zh) 一种数据的缓存方法及系统
CN110019083A (zh) 分布式文件系统的存储方法、装置、电子设备及存储介质
CN105741070B (zh) 一种海量实时舱位运价结果数据快速差异更新存储的方法
JP7003169B2 (ja) ストレージシステム及びストレージシステムのssdの交換方法
CN102724301B (zh) 云数据库系统以及云数据读写处理方法、设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant