CN1542623A - 一种实现内存管理的方法 - Google Patents
一种实现内存管理的方法 Download PDFInfo
- Publication number
- CN1542623A CN1542623A CNA031230490A CN03123049A CN1542623A CN 1542623 A CN1542623 A CN 1542623A CN A031230490 A CNA031230490 A CN A031230490A CN 03123049 A CN03123049 A CN 03123049A CN 1542623 A CN1542623 A CN 1542623A
- Authority
- CN
- China
- Prior art keywords
- formation
- data
- internal memory
- memory
- idle
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实现内存管理的方法,该方法将内存划分为多个固定空间的内存块,并申请管理该内存块的缓冲区描述符(BD),与外界通信的数据处理程序将需要处理的数据保存在BD对应的内存块中,并通过数据处理程序处理该数据,再将处理后的数据通过与外界通信的数据处理程序发送出去。本发明解决了现有技术动态管理内存时内存地址不固定和静态管理内存时不能对内存空间统一管理的问题,实现了对内存空间的统一管理,且该统一管理对于软件系统来说是透明的,软件系统可以通过从固定地址获取全局变量来得知系统运行情况。
Description
技术领域
本发明涉及内存管理技术,更确切地说是涉及一种实现内存管理的方法。
背景技术
内存是计算机类产品的重要硬件设备,软件系统实现各种功能都离不开对内存进行读写。目前业界对内存的管理通过操作系统实现,因此软件系统使用内存时都要依赖于操作系统。操作系统对内存的管理可以分为动态管理和静态管理两种。
目前操作系统对内存的管理主要是动态管理,软件系统通过调用空间申请函数向操作系统申请内存时,操作系统动态地为该软件系统分配内存。从使用者的角度来看,这种基于动态管理的操作系统对内存的分配是随机的,没有可以遵循的规律,即操作系统分配内存对于使用者来说是透明的。基于这样的动态管理,软件系统在实现其应用的过程中无须关心操作系统如何分配和管理内存,操作系统动态管理内存的方法也使软件系统无法知道系统对内存的管理情况,因此软件系统在使用内存时只能完全依赖操作系统所提供的内存地址空间,因此操作系统出现问题时,软件系统往往无法得知这个情况,仍然根据原有的内存地址查找信息,而由于该内存中的信息可能已经不存在了,因此会导致软件系统运行不稳定,甚至崩溃。并且,由于所有的内存分配都是随机的,所以软件系统所使用的全局变量的内存地址就不会是固定地址,也就不能通过直接访问已知的内存地址获得全局变量的值,使操作系统或软件系统运行异常时,很难准确地定位所出现的问题。
操作系统静态管理内存的方案大多应用在底层硬件的功能实现方面,这种静态管理是在操作系统中设置绝对内存,比如说设置芯片的PCI总线属性寄存器或芯片中断寄存器,软件系统对内存空间的使用是可见的,软件系统直接对操作系统空间中绝对内存的地址进行访问。这种访问基本上是离散的,一般都是单独访问,即每次只访问一个固定地址。在这种对内存静态管理的技术方案中,虽然软件系统可以实现对固定内存地址空间的直接访问,不存在动态访问时需要通过操作系统动态申请内存空间的问题,但是这种方案没有提出操作系统对内存空间进行统一管理的方法,因此不是一个独立、封闭的内存管理方法。
综上所述,在现有的这两种操作系统对内存管理的方法中,由于动态管理是随机分配地址,因此软件系统所使用的全局变量的内存地址不固定,不能通过已知的内存地址直接访问全局变量的值,如果程序运行异常,往往很难准确地定位所出现的问题;静态管理方法没有提出对内存空间统一管理的方法,因此其不是一个独立、封闭的内存管理方法。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现内存管理的方法,使在保证软件系统能够使用固定地址内存的同时,对内存进行统一管理。
为达到以上目的,本发明的技术方案是这样实现的:一种实现内存管理的方法,该方法至少包括以下步骤:
a.从内存中划分用于存储软件系统数据的数据内存空间,并将数据内存空间划分为一个以上固定大小的内存块,对应每个内存块申请缓冲区描述符(BD),所有BD构成空闲BD队列;
b.判断是否有数据需要接收,如果有,则从空闲BD队列中申请BD,在该BD对应内存中存储数据,并把该BD组成BD接收队列,之后进入下一步,否则返回步骤b;
c.判断是否有BD接收队列需要处理,如果有,则进一步判断BD接收队列中BD对应的数据是否需要应答,如果需要,则将处理后的应答信息保存在该BD对应内存中,并把该BD组成BD发送队列,之后进入步骤d,如果不需要,则处理该数据,并将该BD发送到空闲BD队列,否则,返回步骤c;
d.判断是否有BD发送队列需要处理,如果需要,则将该BD对应的数据发送出去,并将空闲的BD发送到空闲BD队列,否则返回步骤d。
所述步骤a中,所述BD中包括前向指针、后向指针、BD对应内存的内存地址及该内存中保存数据的数据长度,队列中的BD通过双链表的数据结构进行管理。
所述步骤b之前进一步包括,初始化BD中的前向指针、后向指针、BD对应内存的内存地址及该内存中保存数据的数据长度。
所述在处理BD时,设置当前处理BD中的前向指针、后向指针及该内存中保存数据的数据长度。
所述空闲BD队列、BD接收队列和BD发送队列符合先进先出原则。
所述BD接收队列中设置首BD指针和尾BD指针,所述BD发送队列中设置首BD指针和尾BD指针,通过BD接收队列的首BD指针将接收了数据的BD加入到BD接收队列,并通过BD发送队列的尾BD指针从BD发送队列中获取BD,通过BD接收队列的尾BD指针从BD接收队列中获取需要处理的BD,并通过BD发送队列的首BD指针将处理后的BD发送到BD发送队列。
该方法进一步包括,预先从空闲BD队列中申请一个以上的、用作预设BD的空闲BD,
所述步骤b中将需要接收的数据存储到该预设BD中,且所述步骤b之后进一步包括,
b1.从空闲BD队列中申请用作预设BD的空闲BD,并判断预设BD是否少于预先申请的预设BD的个数,如果少于,则返回步骤b1,否则,进入步骤c。
该方法可以进一步包括,将数据存储到预先申请的预设BD后,判断预设BD对应的内存是否够用,如果够用,则进入步骤c,否则,从空闲BD队列中申请BD,在该申请的BD对应内存中保存数据,并设置该BD。
所述步骤c中,在原有BD对应的内存中保存处理后的应答信息时,判断原有BD对应的内存是否够用,如果正好够用,则直接把该BD组成BD发送队列;如果不够用,则从空闲BD队列中申请BD,在所申请的BD对应内存中保存应答信息,并将该BD发送到BD发送队列;如果有空闲的BD,则将该空闲BD发送到空闲BD队列,并将应答信息对应的BD发送到BD发送队列。
该方法可以进一步包括,从内存中划分用于存储全局变量和内存管理数据的静态内存空间。
该方法可以进一步包括,建立包括一个以上空闲的BD、且符合先进先出原则的BD抓取队列,并设置记录该BD抓取队列首BD的全局变量指针,通过全局变量指针将BD接收队列或BD发送队列中BD对应内存中的数据从BD抓取队列的首BD开始,依次复制到BD抓取队列的BD对应的内存中。
该方法还可以进一步包括,设置用于统计空闲BD队列、BD接收队列或BD发送队列中BD数目的全局变量,则所述初始化进一步包括初始化全局变量。
该方法还可以进一步包括,设置子服务程序,在处理子服务程序后,向空闲BD队列申请空闲的BD,将处理得到的数据存储在BD对应的内存中,并将该BD发送到BD发送队列。
本发明具有以下效果:
1)通过从内存中划分出存储软件系统数据的数据内存空间,将该数据内存空间划分为多个固定大小的内存块,并设置对应每个内存块的BD,保证能够根据软件系统的数据提供固定地址的内存空间,并且通过对BD的管理实现对内存空间的统一管理,且对内存空间的管理对于软件系统来说是透明的。
2)通过从内存中划分出存储全局变量及内存管理数据的静态内存空间,使软件系统能够从固定地址获取全局变量,因此可以根据全局变量获取软件系统运行故障的原因等。
3)通过设置动态统计BD队列中BD个数的全局变量,使软件系统可以通过调用该全局变量得知BD的使用情况。
4)通过建立BD抓取队列,并设置记录该BD抓取队列首BD位置的全局变量指针,实现在对BD对应内存中的数据进行查看的同时,不影响该数据的处理。
附图说明
图1为本实施例的内存管理系统对划分后的内存空间的管理示意图;
图2为本实施例的内存管理系统实现内存管理的流程图;
图3为本实施例中BD抓取队列的示意图。
具体实施方式
下面结合附图及具体实施例对本发明方案作进一步详细的说明。
本发明通过内存管理系统实现对内存的管理,具体为通过与外界通信的数据处理程序和数据处理程序对内存进行管理,这两个程序是内存管理系统的驱动程序。该内存管理系统可以独立于操作系统,软件系统直接通过该内存管理系统即可实现对内存的读写。
本实施例首先从内存中划分一块空间用于存储全局变量和内存管理数据,将该部分空间称作静态内存空间,划分另一部分空间用于存储各种软件程序在执行过程中形成的数据,将该部分空间称作数据内存空间,并进一步将该数据内存空间划分为多个固定大小的内存块,划分内存块的大小以能够保存一个数据为准。通过这样的设置,软件系统能够通过访问固定的内存地址获得本系统的运行状况信息,即使本软件系统因故障等问题停止运行,只要能够访问内存,也可以从内存管理数据及全局变量中获得出现问题的关键信息。
还要根据需要设定与该内存管理系统相关的全局变量,并从操作系统中申请用作BD的数据结构。所申请的BD与数据内存空间的内存块一一对应,BD中包括前向指针(pstPre)、后向指针(pstNext)、内存地址(udwAddress)和数据长度(udwDataLength)四个字段,pstPre用于标识本BD的前一个BD,pstNext用于标识本BD的后一个BD,udwAddress用于标识该BD所对应的内存空间的地址,udwDataLength中存储该BD对应的内存空间中数据的长度。
内存管理系统由空闲BD队列、BD接收队列、BD发送队列、空间申请函数、与外界通信的数据处理程序以及数据处理程序组成。空闲BD队列由所有空闲的BD构成;BD接收队列由与外界通信的数据处理程序根据外界传递进来的数据所形成的BD组成;BD发送队列由数据处理程序根据处理后的数据所形成的BD组成。软件程序通过空间申请函数使用内存。与外界通信的数据处理程序接收可执行程序需要保存的数据,并将处理后的数据发送给可执行程序。数据处理程序对BD对应内存中的数据进行处理。
空闲BD队列、BD接收队列及BD发送队列都符合先进先出(FIFO,First In First Out)的原则,且每个队列中的BD都通过双链表的数据结构进行管理。在BD接收队列和BD发送队列中分别设置了指向该队列首BD的首BD指针和指向从该队列尾BD的尾BD指针,对于BD接收队列,与外界通信的数据处理程序通过首BD指针将接收了数据的BD加入到BD接收队列中,数据处理程序通过尾BD指针从BD接收队列中获取需要处理的BD;对于BD发送队列,数据处理程序通过BD发送队列的首BD指针将处理后的BD发送到BD发送队列,与外界通信的数据处理程序通过BD发送队列的尾BD指针将BD对应内存中的数据发送到外界。
该内存管理系统对划分之后的内存空间的管理参见图1,对应的管理流程图参见图2,其管理过程对应以下步骤:
a.对内存管理系统进行初始化。
该初始化包括对操作系统及本内存管理系统中全局变量的初始化和对BD的初始化。初始化BD时,逐个初始化所有的BD,初始化BD包括初始化该BD中的pstPre、pstNext、udwAddress和udwDataLength。初始化udwAddress时,即为在udwAddress中记录其所代表内存的起始地址,这个地址一旦被设定,则以后的软件系统只通过对该值进行“读”操作来查找内存中的数据。
b.与外界通信的数据处理程序预先申请若干个空闲BD作为预设BD。
所申请的预设BD的个数固定,在设定时以足够处理数据为准。本实施例将该处理程序中的预设BD设置为3个。
c.与外界通信的数据处理程序判断是否有数据需要接收,如果有,则进入下一步,否则,返回步骤c。
与外界通信的数据处理程序可能是根据系统中的定时器或中断的情况判断是否有数据需要接收,也可能是根据是否有消息需要处理来判断是否有数据需要接收。
d.与外界通信的数据处理程序将该数据存储到预先申请的BD对应的内存中,并设置该BD中的udwDataLength、pstPre和pstNext,之后将该BD发送到BD接收队列,并判断步骤b所申请的空闲BD是否够用,如果够用,则进入下一步,如果不够用,则向空闲BD队列申请空闲的BD,并返回步骤d。
f.与外界通信的数据处理程序从空闲BD队列中申请空闲的BD,该空闲BD补充到该处理程序中,并判断该处理程序中的预设BD是否小于步骤b中设定的3个,如果小于,则返回步骤f,否则,进入下一步。
g.数据处理程序通过查询BD接收队列判断其中是否有BD对应的数据需要处理,如果有,则进入下一步,否则,返回步骤g。
h.数据处理程序判断该BD对应的数据是否需要应答,如果需要,则进入i,否则,进入步骤j。
i.数据处理程序复用该BD对应的内存空间,将形成的应答数据保存在该内存空间中,并将该BD发送到BD发送队列,并判断该内存空间是否够用,如果正好够用,则进入步骤k,如果有空闲的BD,则将空闲BD中的pstPre、pstNext和udwDataLength置0,并将该空闲BD发送到空闲BD队列,之后进入步骤k,如果内存空间不够用,则根据需要从空闲BD队列中申请空闲BD,并在该空闲BD对应的内存中保存数据,并将处理后的BD发送到BD发送队列,之后进入步骤k。
j.数据处理程序在执行完相应的操作之后,将BD接收队列中BD的pstPre、pstNext和udwDataLength置0,并将该BD发送到空闲BD队列中。
k.与外界通信的数据处理程序通过查询BD发送队列判断其中是否有BD对应的数据需要发送,如果有,则将该BD对应的数据发送出去,并将处理后的BD放回空闲BD队列,否则,返回步骤k。
基于本发明的内存管理系统,软件系统在访问内存时,通过该系统提供的空间申请函数向操作系统申请内存,内存管理系统则通过以上步骤进行处理。
由于外界系统中每次所发送的数据的数量有限,本实施例在与外界通信的数据处理程序中预先设置的3个BD肯定够用,且每个BD对应的内存空间也足够放置数据,所以可以对上述过程进行简化处理,即与外界通信的数据处理程序不需要判断其预先设置的BD是否够用,数据处理程序处理完BD对应数据后直接将该数据保存在该BD对应的内存中,而不需要再判断该BD对应的内存是否够用。
本实施例中只建立了空闲BD队列、BD接收队列和BD发送队列,还可以根据需要建立其他的BD队列。比如,为实现在系统应用过程中对正在进行处理的消息进行观察,同时又不影响该消息的正常处理,因此可以建立BD抓取队列,这个BD抓取队列同样需要符合FIFO原则。参见图3,该BD抓取队列是从空闲BD队列中申请若干个BD,并将这些BD组成一个环行的链表,选择其中的一个BD作为首BD,并设置一个全局变量指针记录该头BD的位置。如果有消息进入消息接收队列或BD发送队列,则可以通过这个全局变量指针依次从BD接收队列或BD发送队列的BD所对应的内存中获取数据,并从BD抓取队列的首BD开始,将数据依次复制到BD抓取队列的BD所对应的内存中,并在各个BD中记录相关的pstPre、pstNext和udwDataLength。再通过查看BD抓取队列的BD对应内存中的数据来了解消息的实际内容。
还可以根据需要设定用于统计该内存管理系统的各BD队列中BD个数的全局变量,通过该全局变量动态统计各个队列当前的BD个数,软件系统可以通过调用该全局变量得知BD的使用情况。
还可以对数据处理程序进行功能扩展,即在数据处理程序中根据需要设置子服务程序,数据处理程序在处理子服务程序后,向空闲BD队列申请空闲的BD,并将处理得到的数据存储在BD对应的内存中。下面以设置一个系统时钟为例。
如果需要内存管理系统在应用过程中能够定时地向外部软件系统通知本系统的“心跳”,则可以设置一个系统时钟,该系统时钟每隔一秒产生一次中断,对应该时钟在数据处理程序中设置一个中断服务程序,数据处理程序在处理该中断服务程序后,会产生需要向外部软件系统发送的数据,因此数据处理程序向空闲BD队列申请空闲的BD,将处理得到的数据保存在该空闲BD对应的内存中,并将该BD发送到BD发送队列。
本发明方法结合了现有操作系统动态管理内存的透明性和静态管理内存时软件系统可以直接访问内存的特点,并能够对内存空间进行统一管理。对软件系统来说,这个内存管理系统与传统的操作系统提供的内存空间管理从软件系统的角度来说都是透明的,都可以通过简单地调用相应的空间申请函数来获得软件系统需要的内存空间;但从本系统可以查看内存运行状况及BD队列的使用情况、可以通过指定的地址查看重要的全局变量、可以在不影响软件流程的情况下查看BD对应内存中的数据的角度来说,又是可见的,非通明的。
Claims (13)
1、一种实现内存管理的方法,其特征在于该方法至少包括以下步骤:
a.从内存中划分用于存储软件系统数据的数据内存空间,并将数据内存空间划分为一个以上固定大小的内存块,对应每个内存块申请缓冲区描述符(BD),所有BD构成空闲BD队列;
b.判断是否有数据需要接收,如果有,则从空闲BD队列中申请BD,在该BD对应内存中存储数据,并把该BD组成BD接收队列,之后进入下一步,否则返回步骤b;
c.判断是否有BD接收队列需要处理,如果有,则进一步判断BD接收队列中BD对应的数据是否需要应答,如果需要,则将处理后的应答信息保存在该BD对应内存中,并把该BD组成BD发送队列,之后进入步骤d,如果不需要,则处理该数据,并将该BD发送到空闲BD队列,否则,返回步骤c;
d.判断是否有BD发送队列需要处理,如果需要,则将该BD对应的数据发送出去,并将空闲的BD发送到空闲BD队列,否则返回步骤d。
2、根据权利要求1所述的方法,其特征在于所述步骤a中,所述BD中包括前向指针、后向指针、BD对应内存的内存地址及该内存中保存数据的数据长度,队列中的BD通过双链表的数据结构进行管理。
3、根据权利要求2所述的系统,其特征在于,所述步骤b之前进一步包括,初始化BD中的前向指针、后向指针、BD对应内存的内存地址及该内存中保存数据的数据长度。
4、根据权利要求2所述的方法,其特征在于,所述在处理BD时,设置当前处理BD中的前向指针、后向指针及该内存中保存数据的数据长度。
5、根据权利要求1所述的方法,其特征在于,所述空闲BD队列、BD接收队列和BD发送队列符合先进先出原则。
6、根据权利要求1所述的方法,其特征在于,所述BD接收队列中设置首BD指针和尾BD指针,所述BD发送队列中设置首BD指针和尾BD指针,通过BD接收队列的首BD指针将接收了数据的BD加入到BD接收队列,并通过BD发送队列的尾BD指针从BD发送队列中获取BD,通过BD接收队列的尾BD指针从BD接收队列中获取需要处理的BD,并通过BD发送队列的首BD指针将处理后的BD发送到BD发送队列。
7、根据权利要求1所述的方法,其特征在于该方法进一步包括,预先从空闲BD队列中申请一个或以上的、用作预设BD的空闲BD,
所述步骤b中将需要接收的数据存储到该预设BD中,且所述步骤b之后进一步包括,
b1.从空闲BD队列中申请用作预设BD的空闲BD,并判断预设BD是否少于预先申请的预设BD的个数,如果少于,则返回步骤b1,否则,进入步骤c。
8、根据权利要求7所述的方法,其特征在于该方法进一步包括,将数据存储到预先申请的预设BD后,判断预设BD对应的内存是否够用,如果够用,则进入步骤c,否则,从空闲BD队列中申请BD,在该申请的BD对应内存中保存数据,并设置该BD。
9、根据权利要求1所述的方法,其特征在于所述步骤c中,在原有BD对应的内存中保存处理后的应答信息时,判断原有BD对应的内存是否够用,如果正好够用,则直接把该BD组成BD发送队列;如果不够用,则从空闲BD队列中申请BD,在所申请的BD对应内存中保存应答信息,并将该BD发送到BD发送队列;如果有空闲的BD,则将该空闲BD发送到空闲BD队列,并将应答信息对应的BD发送到BD发送队列。
10、根据权利要求1所述的方法,其特征在于该方法进一步包括,从内存中划分用于存储全局变量和内存管理数据的静态内存空间。
11、根据权利要求1所述的方法,其特征在于该方法进一步包括,建立包括一个以上空闲的BD、且符合先进先出原则的BD抓取队列,并设置记录该BD抓取队列首BD的全局变量指针,通过全局变量指针将BD接收队列或BD发送队列中BD对应内存中的数据从BD抓取队列的首BD开始,依次复制到BD抓取队列的BD对应的内存中。
12、根据权利要求3所述的方法,其特征在于该方法进一步包括,设置用于统计空闲BD队列、BD接收队列或BD发送队列中BD数目的全局变量,则所述初始化进一步包括初始化全局变量。
13、根据权利要求1所述的方法,其特征在于该方法进一步包括,设置子服务程序,在处理子服务程序后,向空闲BD队列申请空闲的BD,将处理得到的数据存储在BD对应的内存中,并将该BD发送到BD发送队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031230490A CN100343826C (zh) | 2003-04-29 | 2003-04-29 | 一种实现内存管理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031230490A CN100343826C (zh) | 2003-04-29 | 2003-04-29 | 一种实现内存管理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1542623A true CN1542623A (zh) | 2004-11-03 |
CN100343826C CN100343826C (zh) | 2007-10-17 |
Family
ID=34321193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031230490A Expired - Fee Related CN100343826C (zh) | 2003-04-29 | 2003-04-29 | 一种实现内存管理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100343826C (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100361094C (zh) * | 2005-07-01 | 2008-01-09 | 华为技术有限公司 | 一种节省全局变量内存空间的方法 |
CN100361093C (zh) * | 2004-12-07 | 2008-01-09 | 华为技术有限公司 | 一种处理器中使用缓存区的方法 |
CN100412800C (zh) * | 2004-12-25 | 2008-08-20 | 鸿富锦精密工业(深圳)有限公司 | 一种用于管理网络服务器内存的方法 |
CN100462940C (zh) * | 2007-01-30 | 2009-02-18 | 金蝶软件(中国)有限公司 | 一种在内存中缓存数据的方法及装置 |
CN101188560B (zh) * | 2007-12-18 | 2010-04-21 | 杭州华三通信技术有限公司 | 基于转发能力动态检测的板间流控方法和装置 |
CN101442458B (zh) * | 2007-11-23 | 2011-03-23 | 深圳富泰宏精密工业有限公司 | 序列式数据发送系统及方法 |
CN101459599B (zh) * | 2008-10-30 | 2011-04-06 | 北京闪联互动网络科技有限责任公司 | 一种实现缓存数据访问与加载并发进行的方法及系统 |
CN101694639B (zh) * | 2009-10-15 | 2011-06-01 | 清华大学 | 一种计算机数据的缓存方法 |
CN102169461A (zh) * | 2010-02-26 | 2011-08-31 | 株式会社东芝 | 存储器系统 |
CN101079015B (zh) * | 2007-06-28 | 2012-01-04 | 杭州华三通信技术有限公司 | 数据传送方法及系统 |
CN101876922B (zh) * | 2009-10-30 | 2012-12-19 | 北京锐安科技有限公司 | 一种增强系统稳定性的方法 |
CN103218176A (zh) * | 2013-04-02 | 2013-07-24 | 中国科学院信息工程研究所 | 数据处理方法及装置 |
CN103596067A (zh) * | 2013-11-26 | 2014-02-19 | 深圳创维数字技术股份有限公司 | 一种基于http实时流媒体协议的电视节目传输方法及装置 |
CN103685068A (zh) * | 2013-12-06 | 2014-03-26 | 杭州华三通信技术有限公司 | 接收缓存描述符队列维护方法及设备 |
CN103678161A (zh) * | 2012-09-06 | 2014-03-26 | 中兴通讯股份有限公司 | 内存管理方法及装置 |
CN103685063A (zh) * | 2013-12-06 | 2014-03-26 | 杭州华三通信技术有限公司 | 接收缓存描述符队列维护方法及设备 |
CN108259380A (zh) * | 2017-12-21 | 2018-07-06 | 安凯(广州)微电子技术有限公司 | 数据帧处理的方法、系统及以太网控制器 |
CN109471731A (zh) * | 2018-11-21 | 2019-03-15 | 阿里巴巴集团控股有限公司 | 一种数据处理、内存管理方法、装置、设备及介质 |
CN113312278A (zh) * | 2021-07-29 | 2021-08-27 | 常州楠菲微电子有限公司 | 一种静态可分配共享多队列缓存的装置及方法 |
CN113411237A (zh) * | 2021-08-18 | 2021-09-17 | 成都丰硕智能数字科技有限公司 | 一种低延迟检测终端状态的方法、存储介质及系统 |
CN116820785A (zh) * | 2023-08-30 | 2023-09-29 | 紫光同芯微电子有限公司 | 用于管理内存的方法及装置、资源受限设备、存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0418638A (ja) * | 1990-05-11 | 1992-01-22 | Fujitsu Ltd | 静的メモリ割当て処理方法 |
GB2265734A (en) * | 1992-03-27 | 1993-10-06 | Ibm | Free memory cell management system |
WO1994002898A1 (en) * | 1992-07-24 | 1994-02-03 | Microsoft Corporation | Computer method and system for allocating and freeing memory |
US5784699A (en) * | 1996-05-24 | 1998-07-21 | Oracle Corporation | Dynamic memory allocation in a computer using a bit map index |
CN1270243C (zh) * | 2001-03-30 | 2006-08-16 | 中兴通讯股份有限公司 | 一种实现快速数据传递的方法 |
CN1181434C (zh) * | 2001-06-28 | 2004-12-22 | 华为技术有限公司 | 自适应动态内存管理方法 |
-
2003
- 2003-04-29 CN CNB031230490A patent/CN100343826C/zh not_active Expired - Fee Related
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100361093C (zh) * | 2004-12-07 | 2008-01-09 | 华为技术有限公司 | 一种处理器中使用缓存区的方法 |
CN100412800C (zh) * | 2004-12-25 | 2008-08-20 | 鸿富锦精密工业(深圳)有限公司 | 一种用于管理网络服务器内存的方法 |
CN100361094C (zh) * | 2005-07-01 | 2008-01-09 | 华为技术有限公司 | 一种节省全局变量内存空间的方法 |
CN100462940C (zh) * | 2007-01-30 | 2009-02-18 | 金蝶软件(中国)有限公司 | 一种在内存中缓存数据的方法及装置 |
CN101079015B (zh) * | 2007-06-28 | 2012-01-04 | 杭州华三通信技术有限公司 | 数据传送方法及系统 |
CN101442458B (zh) * | 2007-11-23 | 2011-03-23 | 深圳富泰宏精密工业有限公司 | 序列式数据发送系统及方法 |
CN101188560B (zh) * | 2007-12-18 | 2010-04-21 | 杭州华三通信技术有限公司 | 基于转发能力动态检测的板间流控方法和装置 |
CN101459599B (zh) * | 2008-10-30 | 2011-04-06 | 北京闪联互动网络科技有限责任公司 | 一种实现缓存数据访问与加载并发进行的方法及系统 |
CN101694639B (zh) * | 2009-10-15 | 2011-06-01 | 清华大学 | 一种计算机数据的缓存方法 |
CN101876922B (zh) * | 2009-10-30 | 2012-12-19 | 北京锐安科技有限公司 | 一种增强系统稳定性的方法 |
CN102169461B (zh) * | 2010-02-26 | 2014-01-08 | 株式会社东芝 | 存储器系统 |
CN102169461A (zh) * | 2010-02-26 | 2011-08-31 | 株式会社东芝 | 存储器系统 |
CN103678161A (zh) * | 2012-09-06 | 2014-03-26 | 中兴通讯股份有限公司 | 内存管理方法及装置 |
CN103678161B (zh) * | 2012-09-06 | 2016-08-03 | 中兴通讯股份有限公司 | 内存管理方法及装置 |
CN103218176B (zh) * | 2013-04-02 | 2016-02-24 | 中国科学院信息工程研究所 | 数据处理方法及装置 |
CN103218176A (zh) * | 2013-04-02 | 2013-07-24 | 中国科学院信息工程研究所 | 数据处理方法及装置 |
CN103596067A (zh) * | 2013-11-26 | 2014-02-19 | 深圳创维数字技术股份有限公司 | 一种基于http实时流媒体协议的电视节目传输方法及装置 |
CN103685063B (zh) * | 2013-12-06 | 2016-08-17 | 杭州华三通信技术有限公司 | 接收缓存描述符队列维护方法及设备 |
CN103685063A (zh) * | 2013-12-06 | 2014-03-26 | 杭州华三通信技术有限公司 | 接收缓存描述符队列维护方法及设备 |
CN103685068A (zh) * | 2013-12-06 | 2014-03-26 | 杭州华三通信技术有限公司 | 接收缓存描述符队列维护方法及设备 |
CN103685068B (zh) * | 2013-12-06 | 2016-08-17 | 杭州华三通信技术有限公司 | 接收缓存描述符队列维护方法及设备 |
CN108259380A (zh) * | 2017-12-21 | 2018-07-06 | 安凯(广州)微电子技术有限公司 | 数据帧处理的方法、系统及以太网控制器 |
CN109471731A (zh) * | 2018-11-21 | 2019-03-15 | 阿里巴巴集团控股有限公司 | 一种数据处理、内存管理方法、装置、设备及介质 |
CN113312278A (zh) * | 2021-07-29 | 2021-08-27 | 常州楠菲微电子有限公司 | 一种静态可分配共享多队列缓存的装置及方法 |
CN113411237A (zh) * | 2021-08-18 | 2021-09-17 | 成都丰硕智能数字科技有限公司 | 一种低延迟检测终端状态的方法、存储介质及系统 |
CN116820785A (zh) * | 2023-08-30 | 2023-09-29 | 紫光同芯微电子有限公司 | 用于管理内存的方法及装置、资源受限设备、存储介质 |
CN116820785B (zh) * | 2023-08-30 | 2024-01-02 | 紫光同芯微电子有限公司 | 用于管理内存的方法及装置、资源受限设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100343826C (zh) | 2007-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100343826C (zh) | 一种实现内存管理的方法 | |
CN1259628C (zh) | 分布式计算机系统中系统资源的选择方法 | |
US6754800B2 (en) | Methods and apparatus for implementing host-based object storage schemes | |
US20180285414A1 (en) | Database management system cluster node subtasking data query | |
US6263364B1 (en) | Web crawler system using plurality of parallel priority level queues having distinct associated download priority levels for prioritizing document downloading and maintaining document freshness | |
CN100351798C (zh) | 在多线程网络处理器中线程信令的分组处理方法和系统 | |
US8094161B2 (en) | Virtualization of graphics resources | |
US20110154359A1 (en) | Hash partitioning streamed data | |
US8145774B2 (en) | Progressively accessing data blocks related to pages | |
US5961606A (en) | System and method for remote buffer allocation in exported memory segments and message passing between network nodes | |
US20110276623A1 (en) | File bundling for cache servers of content delivery networks | |
WO2021244155A1 (zh) | 一种进程间通信方法以及进程间通信装置 | |
US20060262124A1 (en) | Virtualization of graphics resources | |
CN1497448A (zh) | 在操作系统内核环境中高速缓存应用数据的系统和方法 | |
US20060262127A1 (en) | Virtualization of graphics resources | |
CN1957325A (zh) | 在加锁消息中传递受保护数据 | |
CN1581106A (zh) | 用于大数据体的先进内存管理体系 | |
CN1924851A (zh) | 数据存储方法和数据存储结构 | |
US10062137B2 (en) | Communication between integrated graphics processing units | |
CN1834942A (zh) | 信息处理设备和信息处理设备的数据控制方法 | |
CN115525417A (zh) | 数据通信方法、通信系统及计算机可读存储介质 | |
WO2017086987A1 (en) | In-memory data shuffling | |
CN1155891C (zh) | 用于处理直接存取存储设备的存取请求的方法 | |
CN117271137A (zh) | 一种多线程的数据分片并行方法 | |
CN106537321B (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071017 Termination date: 20130429 |