CN101266575A - 一种提高内存池利用率的方法 - Google Patents
一种提高内存池利用率的方法 Download PDFInfo
- Publication number
- CN101266575A CN101266575A CNA200710005676XA CN200710005676A CN101266575A CN 101266575 A CN101266575 A CN 101266575A CN A200710005676X A CNA200710005676X A CN A200710005676XA CN 200710005676 A CN200710005676 A CN 200710005676A CN 101266575 A CN101266575 A CN 101266575A
- Authority
- CN
- China
- Prior art keywords
- memory
- internal memory
- memory block
- size
- pool
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
本发明公开了一种提高内存池利用率的方法,该方法包括如下步骤:步骤1:在内存资源中分配一个大内存池,用于用户申请或释放内存;设置一个指针变量ptAddrToUse,用于指示该内存池中可以用以分配内存块的起始地址;建立各种大小的内存头信息链表,初始化为空;步骤2:对用户的内存申请,首先确定其需要的内存块大小,然后在步骤1的内存池中寻找是否有该大小的内存块处于空闲状态;步骤3:在ptAddrToUse有效的情况下,把ptAddrToUse+内存头大小+内存块大小作为该大小的内存块使用。本发明不仅最大程度的满足了所需大小的内存块的需求,而且还有效缓解和避免了内存浪费和内存申请失败的情况。
Description
技术领域
本发明属于嵌入式实时操作系统领域,具体地说,涉及一种提高嵌入式实时操作系统内存池利用率的方法。
背景技术
嵌入式软件的应用愈来愈广泛,而在满足系统实时性要求的前提下,如何提高内存分配的快速性、可靠性、高效性,是嵌入式软件系统需要重点研究的一个课题。嵌入式软件内存分配的快速性从嵌入式系统对实时性的要求出发,要求内存在分配过程中尽可能的快,因此在嵌入式系统中,不可能采用通用操作系统中复杂而繁琐的内存分配策略,一般都采用简单、快速的内存分配方案;嵌入式软件内存分配的可靠性则要求内存分配的请求必须得到满足,如果分配失败的话可能会带来灾难性的后果;而嵌入式软件内存分配的高效性,则要求内存分配尽可能地少浪费。
目前,在嵌入式软件开发中,特别是在诸如电信、信息家电这些行业,由于对内存的申请和释放比较频繁,一般采用的内存分配方法是使用内存分块管理的内存池方式。它的技术方案如图1所示。
为了避免由于内存频繁申请和释放而导致内存碎片,通用的内存池管理方式是首先配置各种大小的内存块的数量,比如21字节大小的内存块m个,22字节大小的内存块n个,以此类推,2n字节大小的内存块f个(其中m、n、f均为任意整数),同时在内存头中保存每个内存块的信息。然后在空闲内存中分配一个大内存,专门用于满足用户的内存申请需求,该内存池大小为各种大小的内存块大小的总和,即:(21×m+22×n+...+2n×f+所有内存头大小)的值。
在进行内存申请时,根据申请内存的大小在相应的内存池中寻找满足大小需要的内存块,如果用户申请的内存是在2q-1~2q这样一个区间中(q为一个确定的整数,满足2q-1<申请内存大小<=2q),则取一个空闲的2q大小的内存块分配给应用;内存释放是根据内存块的指针找到相应的头,再将其标记为自由内存并归还给相应的缓冲池的过程。
这种通用的内存池管理方法针对频繁申请和释放的内存,可以高效、可靠地满足应用需要,同时也可以较好的避免内存碎片的问题。因此在目前的嵌入式软件开发中,有很大范围的应用。
但是,这种通用的内存池管理方式对内存池中内存块的大小和数量的分配需要嵌入式软件开发人员具有比较高的经验值以及在具体的嵌入式软件应用中反复统计、调试,得到一个相对合理的数值。比如在VxWorks操作系统中,User Reserved(等于sysPhsMemTop()-sysMemTop())的内存是用户保留区域,可以分配作为总的内存池大小。但是,这User Reserved大小的内存池分配多少个21大小的内存块,多少个22大小的内存块,...多少个2n大小的内存块呢?现在的做法是由设计人员凭借经验值进行初步估计,然后在测试中进行调试决定。这样,导致该内存池的大小和数量值需要较长一段时间才能趋于稳定,而且可能导致部分内存池的利用率不高,甚至会得不到使用;而某些大小的内存池则由于数量太少导致内存申请失败。
对于这种申请2q(q为一个确定的整数)大小的内存块,由于2q内存块数量配置太少导致内存申请可能失败的解决办法,目前通用的办法如下:
1、申请使用更大一些的内存块,如对2q大小的内存块,使用比其大一级的内存块2q+1。该方法实现简单方便,在内存池足够大的情况下是简单有效的;但是在嵌入式系统中,由于需要考虑内存资源的成本,内存足够大表明成本还可以进一步降低。这种方法,可能直接导致至少2q+1-2q大小的内存浪费(q值越大,浪费越大),这往往是被嵌入式系统设计所不能接受的。
2、使用伙伴(buddy)系统管理存储区方法。当2q大小的内存块申请不到时,使用比其大一级的内存块2q+1,但其将分成两个2q大小的内存块。该方法可以避免方法1的缺陷,有效避免内存浪费。但是其引入的buddy算法,直接导致内存申请和释放的复杂性,降低了内存申请和释放的效率。
发明内容
本发明所要解决的技术问题在于提供一种新的提高内存池利用率的方法,这种方法不仅能够充分利用目前通用内存池高效、可靠、不产生内存碎片等优点,还可以有效地提高内存池中各个内存块的利用率,大大降低通用内存池可能存在的内存块要么得不到使用,要么不够使用的情况。
本发明的一种提高内存池利用率的方法包括如下步骤:
步骤1:在内存资源中分配一个大内存池,用于用户申请或释放内存;设置一个指针变量ptAddrToUse,用于指示该内存池中可以用以分配内存块的起始地址;建立各种大小的内存头信息链表,初始化为空;其中,每一种大小的内存块对应于一个内存头信息链表,每一个信息链表对应于一个内存头头指针;
步骤2:对用户的内存申请,首先确定其需要的内存块大小,然后在步骤1的内存池中寻找是否有该大小的内存块处于空闲状态,如果有,则直接申请使用,返回该内存块的地址,同时在该内存块对应的内存头中设置使用标识,同步更新空闲内存头指针;如果没有,执行下一步;
步骤3,在ptAddrToUse有效的情况下,把ptAddrToUse+内存头大小+内存块大小作为该大小的内存块使用,在内存头信息中记录该内存块的位置信息,并且加入该内存块大小的内存头信息链表中,递增ptAddrToUse地址,让ptAddrToUse指向“ptAddrToUse+内存头大小+内存块大小”,返回未递增前的ptAddrToUse地址作为用户申请的内存块地址。
进一步地,还包括如下步骤:
步骤4:对用户的内存释放,根据释放地址,获取其离内存池中的偏移位置,然后根据偏移位置得到内存头指针,最后将该内存头指针放置到相应的空闲内存块链表尾部,同时设置内存块的使用标志;
步骤5:在系统中止运行时,释放步骤1分配的内存池。
进一步地,在所述步骤1中,所述内存头信息进一步还包括:该内存头指向的内存块地址、返回给用户的虚拟地址、占用标志、所属内存池、下一个内存头信息指针。
进一步地,在所述步骤1中,所述内存头头指针至少包括:块大小信息和该链表中第一个内存头的头地址信息。
进一步地,在所述步骤2中,所述确定需要的内存块大小是指:如果要求用户申请的内存大小在2q-1~2q这样一个区间中,即q为一个确定的整数,满足2q-1<申请内存大小<=2q,则需要的内存块大小为2q。
本发明尽可能地推迟了内存池对特定大小的内存块的初始化,一直到第一次使用才进行初始化,而且这时候如果该大小的内存块已经有被用户释放(放到空闲队列中)的就不再进行初始化,而得到“重新”利用,从而最大程度地保证了内存池中有随时可以被使用的“空闲”的内存,那些不可能使用的内存块就不存在了(不进行初始化,其不占用内存资源),不仅最大程度的满足了所需大小的内存块的需求,而且还有效缓解和避免了内存浪费和内存申请失败的情况。
附图说明
图1为通用的内存池管理方案示意图。
图2为本发明内存申请的实现示意图。
图3为内存头链表示意图。
图4为本发明的内存申请的实现流程示意图。
图5为本发明的内存释放示意图。
具体实施方式
下面结合附图对本发明进行详细描述。
以下为一个本发明实际应用的具体实例,假设各内存块大小采用通常使用的21字节大小、22字节大小...2n字节大小(n为任意整数)。
要完成这种提高内存池利用率的目的,本实例需要如下的步骤(以嵌入式实时操作系统为举例):
步骤1:根据嵌入式软件系统内存的分配要求,在内存资源中分配一个大内存池,专供用户申请(释放)内存用。比如在VxWorks操作系统中,User Reserved(等于sysPhsMemTop()-sysMemTop())的内存是用户保留区域,就可以分配作为总的内存池使用。其分配使用操作系统本身提供的动态内存分配函数如malloc来进行分配。建立内存头信息链表,其内存头信息需要包括如下基本信息:
typedef struct tagUBHead
{
BYTE *pAddr; /*该内存头指向的内存块地址*/
BYTE IsUsed; /*使用标志(避免重复释放)*/
BYTE PoolIndex; /*所属内存池*/
OSSPNO ProcNo; /*申请的进程号*/
T_UBHead*ptNext; /*指向下一个内存头信息*/
}T_UBHead;
内存头信息链表初始化为空,如图3所示。因为用户在内存申请前并不存在内存头,所以“内存头信息链表初始化为空”表示没有任何已经分配好的内存块,只是作为一种标志。
设置一个指针变量ptAddrToUse,用以指示该内存池中可以用以分配内存块的位置地址,其初始化地址为内存池起始地址,如图2所示。
每一种大小的内存块对应于一个内存头信息链表,每一个信息链表对应于一个内存头头指针(图3),内存头和相应内存块在内存池中连续设置,内存头大小固定,而内存头头指针是设置在另一内存区域。内存头头指针至少包括有块大小信息、该链表中第一个内存头的头地址信息。其他信息,比如调试信息等不是必须的。
步骤2:对于内存申请,假如用户申请Ubsize字节大小的内存,寻找满足2m-1<Ubsize<=2m条件的m值(m为整数),则用户申请的内存需要大小由2m的内存块来提供使用。查找大小为2m的内存头链表。内存申请流程如图4所示,具体是:
步骤2-1:如果大小为2m的内存头链表中存在空闲的内存块,则将该空闲内存头中指向的地址返回给用户,同时在该内存块对应的内存头中设置使用标识,同步更新空闲内存头指针,即将空闲内存块指针移到链表下一个内存块处。
步骤2-2:如果大小为2m的内存头链表中不存在空闲的内存块或者链表为空,则返回给用户的是当前的ptAddrToUse,表明(ptAddrToUse+内存头大小+内存块大小即2m)这段内存将被初始化为2m大小的内存块,所以需要在内存头信息中记录该内存块的位置信息,并且加入该内存块大小的内存块头信息链表中,同时需要让ptAddrToUse指向(ptAddrToUse+内存头大小+内存块大小即2m)地址。
如果ptAddrToUse无效,表明嵌入式软件系统内存的分配不能满足系统需要,可以以警告或是异常形式返回。
步骤3:对用户的内存释放,根据释放地址,获取其在内存池中的偏移位置,然后根据偏移位置得到内存头指针,最后将该内存头指针放置到相应大小的空闲内存块链表尾部,同时设置内存块的使用标志。如图5所示。
步骤4:在该嵌入式软件模块或系统中止运行时,释放(对应于步骤1的malloc,采用free进行释放)步骤1分配的内存池,释放内存头信息链表,设置指针变量ptAddrToUse为空。
可见,上述实例中避免了程序中不需要使用的内存块的初始化和占位,最大程度的满足了系统对某种大小内存块的使用需求,有效避免了小内存块不够使用而不得不使用稍大内存块或是把稍大内存块进行伙伴算法分解的烦琐,提高了内存池的利用率。所以该内存池管理方法可以为用户有效减少内存资源成本,尤其是在嵌入式软件领域有更大的推广价值和实用价值。
Claims (6)
1. 一种提高内存池利用率的方法,其特征在于,包括如下步骤:
步骤1:在内存资源中分配一个大内存池,用于用户申请或释放内存;设置一个指针变量ptAddrToUse,用于指示该内存池中可以用以分配内存块的起始地址;建立各种大小的内存头信息链表,初始化为空;其中,每一种大小的内存块对应于一个内存头信息链表,每一个信息链表对应于一个内存头头指针;
步骤2:对用户的内存申请,首先确定其需要的内存块大小,然后在步骤1的内存池中寻找是否有该大小的内存块处于空闲状态,如果有,则直接申请使用,返回该内存块的地址,同时在该内存块对应的内存头中设置使用标识,同步更新空闲内存头指针;如果没有,执行下一步;
步骤3,在ptAddrToUse有效的情况下,把ptAddrToUse+内存头大小+内存块大小作为该大小的内存块使用,在内存头信息中记录该内存块的位置信息,并且加入该内存块大小的内存头信息链表中,递增ptAddrToUse地址,让ptAddrToUse指向“ptAddrToUse+内存头大小+内存块大小”,返回未递增前的ptAddrToUse地址作为用户申请的内存块地址。
2. 根据权利要求1所述的一种提高内存池利用率的方法,其特征在于,还包括如下步骤:
步骤4:对用户的内存释放,根据释放地址,获取其离内存池中的偏移位置,然后根据偏移位置得到内存头指针,最后将该内存头指针放置到相应的空闲内存块链表尾部,同时设置内存块的使用标志;
步骤5:在系统中止运行时,释放步骤1分配的内存池。
3. 根据权利要求2所述的一种提高内存池利用率的方法,其特征在于,在所述步骤1中,所述内存头信息进一步还包括:该内存头指向的内存块地址、返回给用户的虚拟地址、占用标志、所属内存池、下一个内存头信息指针。
4. 根据权利要求3所述的一种提高内存池利用率的方法,其特征在于,在所述步骤1中,所述内存头头指针至少包括:块大小信息和该链表中第一个内存头的头地址信息。
5. 根据权利要求1所述的一种提高内存池利用率的方法,其特征在于,其中,在所述步骤2中,所述确定需要的内存块大小是指:如果要求用户申请的内存大小在2q-1~2q这样一个区间中,即q为一个确定的整数,满足2q-1<申请内存大小<=2q,则需要的内存块大小为2q。
6. 根据权利要求1至5任一所述的一种提高内存池利用率的方法,其特征在于,可应用于嵌入式实时操作系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710005676A CN101266575B (zh) | 2007-03-13 | 2007-03-13 | 一种提高内存池利用率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710005676A CN101266575B (zh) | 2007-03-13 | 2007-03-13 | 一种提高内存池利用率的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101266575A true CN101266575A (zh) | 2008-09-17 |
CN101266575B CN101266575B (zh) | 2010-05-19 |
Family
ID=39989000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710005676A Expired - Fee Related CN101266575B (zh) | 2007-03-13 | 2007-03-13 | 一种提高内存池利用率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101266575B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866954A (zh) * | 2012-08-31 | 2013-01-09 | 华为技术有限公司 | 内存分配的方法及装置 |
CN103324579A (zh) * | 2013-06-27 | 2013-09-25 | 上海斐讯数据通信技术有限公司 | 一种内存管理方法 |
CN103678152A (zh) * | 2014-01-08 | 2014-03-26 | 广州思泰信息技术有限公司 | 一种小内存微型控制器零碎片的动态内存分配方法 |
CN103838859A (zh) * | 2014-03-19 | 2014-06-04 | 厦门雅迅网络股份有限公司 | 一种减少linux下多进程间数据拷贝的方法 |
CN105138475A (zh) * | 2015-08-21 | 2015-12-09 | 东软集团股份有限公司 | 一种内存池及内存分配方法 |
CN105159837A (zh) * | 2015-08-20 | 2015-12-16 | 广东睿江科技有限公司 | 一种内存管理方法 |
CN106991010A (zh) * | 2017-03-22 | 2017-07-28 | 武汉虹信通信技术有限责任公司 | 一种用于流媒体服务器的内存集中动态分配方法 |
CN107168890A (zh) * | 2017-04-01 | 2017-09-15 | 杭州联吉技术有限公司 | 一种内存池的管理方法和装置 |
CN107977265A (zh) * | 2016-10-25 | 2018-05-01 | 中兴通讯股份有限公司 | 内存初始化方法、装置和内存分配方法、装置 |
CN108021448A (zh) * | 2017-11-30 | 2018-05-11 | 北京东土科技股份有限公司 | 一种内核空间的优化方法及装置 |
CN108255608A (zh) * | 2018-01-10 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 一种内存池的管理方法 |
CN108874532A (zh) * | 2017-06-01 | 2018-11-23 | 北京旷视科技有限公司 | 内存分配方法及设备 |
CN109271248A (zh) * | 2017-07-17 | 2019-01-25 | 中国银河证券股份有限公司 | 内存处理方法及装置 |
CN109710408A (zh) * | 2018-12-24 | 2019-05-03 | 杭州迪普科技股份有限公司 | 内存管理方法和装置 |
CN109947560A (zh) * | 2019-02-25 | 2019-06-28 | 深圳市创联时代科技有限公司 | 一种内存管理方法 |
CN110245091A (zh) * | 2018-10-29 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种内存管理的方法、装置及计算机存储介质 |
CN111427707A (zh) * | 2020-03-25 | 2020-07-17 | 北京左江科技股份有限公司 | 一种基于共享内存池的ipc通信方法 |
CN112685188A (zh) * | 2021-03-22 | 2021-04-20 | 四川九洲电器集团有限责任公司 | 一种基于全局字节数组的嵌入式内存管理方法及装置 |
CN113419858A (zh) * | 2021-06-30 | 2021-09-21 | 明见(厦门)技术有限公司 | 一种动态内存分配方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1287291C (zh) * | 2004-01-02 | 2006-11-29 | 中兴通讯股份有限公司 | 嵌入式实时操作系统中内存释放的方法 |
CN100359489C (zh) * | 2004-07-13 | 2008-01-02 | 中兴通讯股份有限公司 | 一种嵌入式实时操作系统中内存分配的方法 |
-
2007
- 2007-03-13 CN CN200710005676A patent/CN101266575B/zh not_active Expired - Fee Related
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102866954B (zh) * | 2012-08-31 | 2015-11-25 | 华为技术有限公司 | 内存分配的方法及装置 |
CN102866954A (zh) * | 2012-08-31 | 2013-01-09 | 华为技术有限公司 | 内存分配的方法及装置 |
CN103324579A (zh) * | 2013-06-27 | 2013-09-25 | 上海斐讯数据通信技术有限公司 | 一种内存管理方法 |
CN103678152A (zh) * | 2014-01-08 | 2014-03-26 | 广州思泰信息技术有限公司 | 一种小内存微型控制器零碎片的动态内存分配方法 |
CN103838859B (zh) * | 2014-03-19 | 2019-04-26 | 厦门雅迅网络股份有限公司 | 一种减少linux下多进程间数据拷贝的方法 |
CN103838859A (zh) * | 2014-03-19 | 2014-06-04 | 厦门雅迅网络股份有限公司 | 一种减少linux下多进程间数据拷贝的方法 |
CN105159837A (zh) * | 2015-08-20 | 2015-12-16 | 广东睿江科技有限公司 | 一种内存管理方法 |
CN105138475A (zh) * | 2015-08-21 | 2015-12-09 | 东软集团股份有限公司 | 一种内存池及内存分配方法 |
CN105138475B (zh) * | 2015-08-21 | 2018-08-03 | 东软集团股份有限公司 | 一种内存池及内存分配方法 |
CN107977265A (zh) * | 2016-10-25 | 2018-05-01 | 中兴通讯股份有限公司 | 内存初始化方法、装置和内存分配方法、装置 |
CN106991010A (zh) * | 2017-03-22 | 2017-07-28 | 武汉虹信通信技术有限责任公司 | 一种用于流媒体服务器的内存集中动态分配方法 |
CN106991010B (zh) * | 2017-03-22 | 2019-11-08 | 武汉虹信通信技术有限责任公司 | 一种用于流媒体服务器的内存集中动态分配方法 |
CN107168890A (zh) * | 2017-04-01 | 2017-09-15 | 杭州联吉技术有限公司 | 一种内存池的管理方法和装置 |
CN107168890B (zh) * | 2017-04-01 | 2021-03-19 | 杭州联吉技术有限公司 | 一种内存池的管理方法和装置 |
CN108874532B (zh) * | 2017-06-01 | 2020-11-06 | 北京旷视科技有限公司 | 内存分配方法及设备 |
CN108874532A (zh) * | 2017-06-01 | 2018-11-23 | 北京旷视科技有限公司 | 内存分配方法及设备 |
CN109271248A (zh) * | 2017-07-17 | 2019-01-25 | 中国银河证券股份有限公司 | 内存处理方法及装置 |
CN108021448B (zh) * | 2017-11-30 | 2021-06-15 | 北京东土科技股份有限公司 | 一种内核空间的优化方法及装置 |
CN108021448A (zh) * | 2017-11-30 | 2018-05-11 | 北京东土科技股份有限公司 | 一种内核空间的优化方法及装置 |
CN108255608A (zh) * | 2018-01-10 | 2018-07-06 | 武汉斗鱼网络科技有限公司 | 一种内存池的管理方法 |
CN110245091A (zh) * | 2018-10-29 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种内存管理的方法、装置及计算机存储介质 |
CN110245091B (zh) * | 2018-10-29 | 2022-08-26 | 浙江大华技术股份有限公司 | 一种内存管理的方法、装置及计算机存储介质 |
CN109710408A (zh) * | 2018-12-24 | 2019-05-03 | 杭州迪普科技股份有限公司 | 内存管理方法和装置 |
CN109947560A (zh) * | 2019-02-25 | 2019-06-28 | 深圳市创联时代科技有限公司 | 一种内存管理方法 |
CN111427707A (zh) * | 2020-03-25 | 2020-07-17 | 北京左江科技股份有限公司 | 一种基于共享内存池的ipc通信方法 |
CN111427707B (zh) * | 2020-03-25 | 2024-02-06 | 北京左江科技股份有限公司 | 一种基于共享内存池的ipc通信方法 |
CN112685188A (zh) * | 2021-03-22 | 2021-04-20 | 四川九洲电器集团有限责任公司 | 一种基于全局字节数组的嵌入式内存管理方法及装置 |
CN113419858A (zh) * | 2021-06-30 | 2021-09-21 | 明见(厦门)技术有限公司 | 一种动态内存分配方法 |
CN113419858B (zh) * | 2021-06-30 | 2024-02-13 | 明见(厦门)技术有限公司 | 一种动态内存分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101266575B (zh) | 2010-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101266575B (zh) | 一种提高内存池利用率的方法 | |
CN100517240C (zh) | 一种嵌入式操作系统的内存池分配方法 | |
CN101221536B (zh) | 嵌入式系统的内存管理方法及装置 | |
CN102156675B (zh) | 一种内存分配方法及装置 | |
KR101255382B1 (ko) | 운영체제에 친숙한 부트로더 | |
US8286178B2 (en) | Allocation and regulation of CPU entitlement for virtual processors in logical partitioned platform | |
EP2075698A1 (en) | Method and system for allocating memory in a broker system | |
CN104050137B (zh) | 一种异构操作系统中内核运行的方法及装置 | |
CN1996258A (zh) | 一种动态内存池的实现方法 | |
KR102338849B1 (ko) | 실시간 운영 체제에서 스택 메모리 관리를 제공하는 방법 및 시스템 | |
CN102761469A (zh) | 一种资源池的分配方法和装置 | |
CN113434284B (zh) | 一种隐私计算服务端设备、系统及任务调度方法 | |
CN103425592A (zh) | 一种多进程系统中的内存管理方法及装置 | |
CN103297499A (zh) | 一种基于云平台的调度方法及系统 | |
KR101835604B1 (ko) | 메모리를 위한 스케줄러 | |
US9697047B2 (en) | Cooperation of hoarding memory allocators in a multi-process system | |
CN110162396A (zh) | 内存回收方法、装置、系统和存储介质 | |
CN103218305A (zh) | 存储空间的分配方法 | |
JP2008225520A (ja) | 仮想マシン環境においてメモリ資源を配置するメモリ資源配置制御方法、仮想マシンシステム及びプログラム | |
CN100472459C (zh) | 自动释放嵌入式系统中应用程序模块泄漏内存的系统 | |
CN105469173A (zh) | 一种静态内存进行优化管理的方法 | |
EP3564814A1 (en) | Method and device for starting and operating system, and computer storage medium | |
CN105512091A (zh) | 一种内存分配方法及装置 | |
CN102541743B (zh) | 用于存储管理的方法、设备和系统 | |
CN100345112C (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100519 Termination date: 20160313 |
|
CF01 | Termination of patent right due to non-payment of annual fee |