CN106855845A - The Memory Allocation management system and embedded chip of heap space - Google Patents

The Memory Allocation management system and embedded chip of heap space Download PDF

Info

Publication number
CN106855845A
CN106855845A CN201510903818.9A CN201510903818A CN106855845A CN 106855845 A CN106855845 A CN 106855845A CN 201510903818 A CN201510903818 A CN 201510903818A CN 106855845 A CN106855845 A CN 106855845A
Authority
CN
China
Prior art keywords
node
memory
application
heap
heap space
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.)
Withdrawn
Application number
CN201510903818.9A
Other languages
Chinese (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.)
Beijing Xinwei Telecom Technology Inc
Original Assignee
Beijing Xinwei Telecom Technology Inc
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 Beijing Xinwei Telecom Technology Inc filed Critical Beijing Xinwei Telecom Technology Inc
Priority to CN201510903818.9A priority Critical patent/CN106855845A/en
Publication of CN106855845A publication Critical patent/CN106855845A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides the Memory Allocation management system and embedded chip of heap space, the system includes:Heap space creating unit is used to create heap space;Memory pool creating unit is used to create memory pool in the heap space according at least one typical length of application configuration and the data number of blocks of each typical length, it is the node of at least one typical length memory headroom with corresponding data number of blocks and the chained list collection of each typical length in the memory pool, the node head of each node is pressed into the corresponding chained list collection of the typical length in the memory pool;Sound state template(-let), either statically or dynamically attribute for determining the node according to the either statically or dynamically attribute of application configuration, the chained list collection of the memory pool includes being currently in use dynamic node chained list, be currently in use static node chained list and release dynamics node linked list.The present invention solves the problems, such as the upper fragmentation of heap space management, reduces system task by the probability of other internal memory modifications of crossing the border.

Description

The Memory Allocation management system and embedded chip of heap space
Technical field
The present invention relates to heap field, more particularly to heap space Memory Allocation management system and embedded core Piece.
Background technology
At present, the embedded extensive use in digital information processing system, particularly multi-core DSP core How piece, realize efficiently managing multi-core DSP heap, that reliability application has turned into multi-core DSP is embedding in real time One technology point of embedded system exploitation.At present in the heap of embedded system application, mostly with C language Java standard library carries malloc/free functions, realizes internal memory application or release.But many problems occur, Such as efficiency can not be met in real-time embedded operating system to the high performance requirement of heap, for example, in heap On, during releasing memory, internal memory is discharged into whole memory pool, when be again application when or pass through Malloc, such fragmentation is than more serious, and this process is than the relatively time-consuming weak point such as less efficient, for User also is difficult to safeguard, for example, the application that can ceaselessly have internal memory in system operation discharges, nothing The service condition of method monitor in real time heap.
The content of the invention
In a first aspect, the invention provides a kind of Memory Allocation management system of heap space, the system includes:
Heap space creating unit, for creating heap space;
Memory pool creating unit, at least one typical length according to application configuration and each typical length Data number of blocks creates memory pool in the heap space, is with corresponding data number of blocks in the memory pool At least one typical length memory headroom node and the chained list collection of each typical length, it is described in The node head for depositing each node in pond is pressed into the corresponding chained list collection of the typical length;
Sound state template(-let), the quiet of the node is determined for the either statically or dynamically attribute according to application configuration State or dynamic attribute, the chained list collection of the memory pool include being currently in use dynamic node chained list, be currently in use it is quiet State node linked list and release dynamics node linked list.
Preferably, the heap space creating unit, specifically for:If the heap space information of application configuration includes Privately owned heap attribute mark, then create heap space in privately owned storage region in core;If the heap space of application configuration Information includes shared heap attribute mark, then create heap space in shared storage area in core.
Preferably, also include:
Request internal storage location, for obtaining request of the application to the heap space application internal memory;
Judging unit, for determining maximum typical length of the application internal memory less than or equal to the heap space, Then judge the release dynamics node chain of typical length matched with application internal memory length in the heap space Whether node head is had in table;
Releasing memory takes unit, if in heap space with the application typical length that matches of internal memory length There is node head in release dynamics node linked list, then by where release dynamics node linked list interior joint head The memory address of node returns to application, and the node head is pressed into just from release dynamics node linked list Using dynamic node chained list;
Node unit is opened up, if for having been released with the application typical length that matches of internal memory length in heap space Putting in dynamic node chained list does not have node head, then untapped memory headroom is set up with application in heap space The new node of the memory headroom of internal memory length, application is returned to by the memory address of new node, by new node The chained list collection of node head press-in application internal memory length.
Preferably, the node by tactic node head, return to the memory headroom and default length of application The part of node tail three composition of degree, the length for returning to the memory headroom of application is identical with the typical length.
Preferably, also including the first shared judging unit, with the request internal storage location, open up node unit And releasing memory takes unit connection, the heap space is applied for being obtained in the request internal storage location Apply after the request of internal memory, whether judge the heap space in shared region, if so, then needing plus spin Lock, if it is not, then the Central Shanxi Plain is disconnected until internal memory application success.
Preferably, also include:
Request releasing unit, for obtaining releasing request of the application to the heap space internal memory;
Node releasing unit, the releasing memory address corresponding node for judging in internal memory releasing request is dynamic , if dynamic node, then from described be currently in use in dynamic node chained list node by node or static node Remove, and be added in the dynamic node chained list for having discharged;If static node, determine that internal memory release please Releasing memory address corresponding node in asking is static node, then return to error message to application.
Preferably, it is single with the request releasing unit and node release also including the second shared judging unit Unit's connection, after the request for the request releasing unit acquisition using the release heap space internal memory, sentences Whether the heap space break in shared region, if so, then add spin lock, if it is not, then the Central Shanxi Plain is disconnected until internal memory Discharge successfully.
Second aspect, present invention also offers a kind of embedded chip, including described in above-mentioned second aspect one Plant the Memory Allocation management system of heap space.
Compared with prior art, the Memory Allocation management system and embedded core of the heap space that the present invention is provided Piece, has the advantages that:The present invention configures the either statically or dynamically attribute of the node by application, The separate management to static, dynamic node is realized, secondly in each typical length application, the node of release By being currently in use dynamic node chained list, static node chained list and release dynamics node linked list dimension are currently in use Shield, its advantage is to improve application, the efficiency of releasing memory, reduces time-consuming when node is joined the team or gone out group, energy The enough efficiency for improving heap manager to a certain extent, general static node is all used for the task of operating system, letter Number amount etc., separated with dynamic node, reduce by other cross the border internal memories change probability, increasing to a certain degree The reliability of system.Each heap space can create multiple typical lengths according to demand, solve heap space management The problem of upper fragmentation, while the internal memory that can quickly orient indivedual typical lengths is out of joint, node structure Into, a piece of internal memory is opened up according to typical length, started immediately following the space for returning to user with node head, to save Point caudal knot beam, the border that has been each design of node, if the data that user fills in are crossed the border and step on other nodes, section The mark of point tail contributes to orientation problem.
Brief description of the drawings
Fig. 1 is a kind of side of the Memory Allocation management method one embodiment for heap space that the present invention is provided Method flow chart.
Fig. 2 is a kind of second method of embodiment of Memory Allocation management method for heap space that the present invention is provided The method flow diagram one of flow chart.
Fig. 3 is a kind of second method of embodiment of Memory Allocation management method for heap space that the present invention is provided The method flow diagram two of flow chart.
Fig. 4 is a kind of structure of the Memory Allocation management system one embodiment for heap space that the present invention is provided Block diagram.
Fig. 5 is a kind of second structure of embodiment of Memory Allocation management system for heap space that the present invention is provided Block diagram one.
Fig. 6 is a kind of second structure of embodiment of Memory Allocation management system for heap space that the present invention is provided Block diagram two.
Fig. 7 is a kind of second structure of embodiment of Memory Allocation management system for heap space that the present invention is provided Block diagram three.
Fig. 8 is the method flow diagram of example 1 in the embodiment that the present invention is provided.
Fig. 9 is the method flow diagram of example 2 in the embodiment that the present invention is provided.
Figure 10 is the method flow diagram of example 3 in the embodiment that the present invention is provided.
Figure 11 is the method flow diagram of example 4 in the embodiment that the present invention is provided.
Specific embodiment
For make present invention solves the technical problem that, the technical scheme that uses and the technique effect that reaches it is more clear Chu, is described in further detail below in conjunction with accompanying drawing to the technical scheme of the embodiment of the present invention, it is clear that Described embodiment is only a part of embodiment of the invention, rather than whole embodiments.Based on this hair Embodiment in bright, those skilled in the art obtained under the premise of creative work is not made it is all its His embodiment, belongs to the scope of protection of the invention.
Fig. 1 shows a kind of Memory Allocation management method one embodiment for the heap space provided according to the present invention Method flow diagram.A kind of Memory Allocation management method of heap space of the present embodiment is main by a kind of heap space Memory Allocation method, system perform, the system can be arranged in embedded chip, such as dsp chip, Naturally it can also arranged in other chips comprising CPU.The method is comprised the following steps:
S11:Create heap space.
Specifically, one piece of unappropriated memory headroom is used as heap space defined in internal memory.
For example:One piece of unappropriated memory headroom is used as heap space A defined in internal memory.
When heap space is created in multi core chip, the heap space information of application configuration includes privately owned heap attribute mark Will, then create heap space in privately owned storage region in core;The heap space information of application configuration includes shared heap Attribute mark, then create heap space in shared storage area in core.Internal memory domain according to CACHE attributes again It is divided into CACHE Attribute domains and without CACHE Attribute domains, generally, with CACHE Attribute domain can be then privately owned storage region in core, be shared memory in core without CACHE Attribute domains Domain, makes heap management configuration of the invention flexibly, meets the locational requirement that heap is specified by user.
S12:The data number of blocks of at least one typical length and each typical length according to application configuration is in heap Memory pool is created in space, is at least one typical length internal memory with corresponding data number of blocks in memory pool The chained list collection of the node in space and each typical length, the node head press-in typical length pair of each node in memory pool The chained list collection answered.
Wherein, the typical length of application configuration can be one kind, or various.
As above example, application configuration the first typical length 108B and the second typical length 236B is according to application First typical length of configuration is 108B, and the data number of blocks of the first typical length is m, is created before The node of m with 108B memory headrooms is set up in the heap space A for building up, using being configured with the second allusion quotation again Type length is 236B, and the data number of blocks of the second typical length is n, then empty in the heap for creating before Between the m node with 108B memory headrooms is set up in A, the node of 108B memory headrooms should be carried Node head is pressed into the chained list collection b1 of memory pool B1, should carry the node head of the node of 108B memory headrooms The chained list collection b2 of press-in memory pool B1, these carry the node of 108B memory headrooms and with 236B internal memories The node in space, chained list collection b1 and chained list collection b2 constitute a memory pool B1.
Example 1 as shown in Figure 8:By taking the establishment of heap space in the application of multi-core DSP chip as an example, according to Following steps are realized:
(101), there is core private room in by dividing in the privately owned or shared attribute for, being set according to application A global aray variable is defined as heap space, array size will as create the size of heap space;
(102) the heap attribute structure body for, being provided according to this programme, defines a structure variable, as Record creates the association attributes parameter of heap;
(103) size of, the quantity of setting heap typical length block, and each typical length;
(104) name of heap, is defined;
(105), with step (101), (102), (103), (104) and privately owned or shared heap attribute mark Will enters ginseng as function is created, and calls heap to create function;
(106) two legitimacies for entering ginseng of heap attribute and heap initial address, are judged, if legal execution step (107) mistake, is otherwise directly returned;
(107), according to the length of heap attribute structure body, to the heap attribute structure body variable clear 0;
(108), record creates the attribute of heap:The head of the initial address of heap, i.e. heap, the length of heap, heap Current address, the privately owned or shared attribute mark of heap, heap typical length, the name record of heap to step (102) in attribute structure body variable;
(109), if heap is privately owned heap, privately owned heap chained list is pressed into using step (108) as node, it is no Then using step (108) as the shared heap chained list of node press-in;
(110), create and complete, using step (102) as function return value, return to using as sentence Handle;
(111) return value for global variable recording step (110), is defined.
S13:Either statically or dynamically attribute according to application configuration determines the either statically or dynamically attribute of node, internal memory The chained list collection in pond includes being currently in use dynamic node chained list, being currently in use static node chained list and discharged dynamic State node linked list.The order of S13 and S12 is not construed as limiting.
Wherein, record has the dynamic that use/release conditions are use state in being currently in use dynamic node chained list The node head of node, be currently in use record in static node chained list to have use/release conditions is use state The node head of static node, it is release shape that record has use/release conditions in release dynamics node linked list The node head of the dynamic node of state.
General node is made up of tactic node head, the memory headroom two parts for returning to application, returns Length to the memory headroom of application is identical with corresponding typical length, and node head is the core of the node, dimension Protect the attribute of whole node and release mounted on internal memory chained list, included in node head the use of the node/ Release conditions, node head followed by the memory address to return to the memory headroom of application, as in node Deposit address.As above in example, the node with 108B memory headrooms and the node with 236B memory headrooms Node head length be 20B, node head length is 4B.
Preferably, node is by tactic node head, the memory headroom for returning to application and preset length The part of node tail three constitutes, and the length for returning to the memory headroom of application is identical with corresponding typical length, returns First address back to the memory headroom of application is the node memory address of node, and the node tail of preset length is every Individual design of node border, if the data that user fills in are crossed the border steps on other nodes, the mark of node tail is helped In orientation problem.
Static node is the node that releasing memory is not needed in system operation, is generally used for appointing for operating system Business, semaphore etc., separate with dynamic node, reduce by the probability of other internal memory modifications of crossing the border, in certain journey The reliability of increase system is spent, meanwhile, each node has one of attribute dynamically or statically, sound State is separated, and reduces time-consuming when node is joined the team or gone out group, can to a certain extent improve the efficiency of heap manager.
Fig. 2 and Fig. 3 show a kind of Memory Allocation management method second of the heap space provided according to the present invention The method flow diagram of embodiment.A kind of Memory Allocation management system of heap space of the present embodiment is main by this reality The main Memory Allocation system by a kind of heap space of Memory Allocation management method for applying a kind of heap space of example is come Perform, the system can be arranged in embedded chip, such as dsp chip.The present embodiment is compared to one kind The difference of Memory Allocation management method one embodiment of heap space is:Also include application internal memory step and Releasing memory step, the method is comprised the following steps:
S21:Create heap space.The implementation procedure of the step is identical with S11, will not be repeated here.
S22:The data number of blocks of at least one typical length and each typical length according to application configuration is in heap Memory pool is created in space, is at least one typical length internal memory with corresponding data number of blocks in memory pool The chained list collection of the node in space and each typical length, the node head press-in typical length pair of each node in memory pool The chained list collection answered.The implementation procedure of the step is identical with S12, will not be repeated here.
S23:Either statically or dynamically attribute according to application configuration determines the either statically or dynamically attribute of node, internal memory The chained list collection in pond includes being currently in use dynamic node chained list, is currently in use static node chained list and has discharged dynamic State node linked list.The implementation procedure of the step is identical with S13, will not be repeated here.
S24:Obtain request of the application to heap space application internal memory.
For example, call applying for interior store function, function includes that parameter has:The handle of heap space, application internal memory The definition title of length, the dynamic of application internal memory or static attribute and this application internal memory.
S25:It is determined that maximum typical length of the application internal memory less than or equal to heap space, then judge in heap space and Whether there is node head in the release dynamics node linked list of the typical length of application internal memory length matching.
Wherein, the typical length of matching is the minimum typical case's length in heap space more than or equal to application internal memory length Degree.
For example:Memory pool B1 has had the first typical length 108B and the second typical length 236B, if Shen Please internal memory length be 108B, then will determine that first match with application internal memory length 108B in heap space is typical Whether there is node head in the release dynamics node linked list of length 108B, if application internal memory length is 128B, Determine that it is less than maximum typical length 236B, therefore, will determine that in heap space with application internal memory length 128B Whether there is node head in the release dynamics node linked list of the first typical length 136B of matching.
After S25, including S26:If so, will then be saved where release dynamics node linked list interior joint head The memory address of point returns to application, node head is pressed into from release dynamics node linked list and is currently in use Dynamic node chained list.
If specifically, and judging the typical length matched with application internal memory length in heap space in S25 There is node head in release dynamics node linked list, then by the node of release dynamics node linked list interior joint head Deposit address and return to application, the node memory of node head then turns into the application internal memory of application, while judging the section Point is dynamic node or static node, if dynamic node, then the node head is being pressed into the memory pool just Using dynamic node chained list;If static node, then the node head is pressed into being currently in use for the memory pool Static node chained list.
As above example, if application internal memory length is 108B, will determine that in heap space with application internal memory length Whether there is node head in the release dynamics node linked list of the first typical length 108B of 108B matchings, and Having in space in the corresponding dynamic node chained lists for having discharged of typical length 108B has node head t1, then recognize For the memory headroom of the node head corresponding node is in release conditions, then by the node memory of node head t1 Address returns to application, and node memory address is in node the first address of the memory headroom for returning to application, If node head t1 length is 20B, node head t1 first address skew 20B is returned as node memory address Back to application, the node memory of node head t1 then turns into the application internal memory of application.
After S25, including S27:If it is not, then untapped memory headroom is set up with Shen in heap space Please internal memory length memory headroom new node, the memory address of new node is returned into application, by new node Node head press-in application internal memory length chained list collection.
As above example, if application internal memory length is 128B, determines that it is less than maximum typical length 236B, therefore, Will determine that the release of the first typical length 236B matched with application internal memory length 128B in heap space Whether there is node head in dynamic node chained list, and have that typical length 236B is corresponding have been discharged in space There is no node head in dynamic node chained list, then it is assumed that the memory headroom of the node of typical length 236B is located In the state that is currently in use, then according to application internal memory length, untapped memory headroom creates new section in heap space Point t3, it is the new node t3 of the memory headroom with 128B, and the node memory address of new node t3 is returned It is to apply for the chained list collection of internal memory length 128B by the node head t3 press-ins typical length of new node back to application In.
Wherein, the node head of new node is pressed into apply for internal memory length as the chained list collection of typical length:Judge Application internal memory is dynamic attribute or static attribute, if dynamic attribute, is then pressed into the node head of new node Correspondence memory pool is currently in use dynamic node chained list end, if static attribute, then the node head of new node Be pressed into correspondence memory pool is currently in use static list end.
As a kind of preferably implementation method, after S24, also including S241:Judge the heap space Whether in shared region, if so, then adding spin lock;If it is not, then the Central Shanxi Plain is disconnected until internal memory application success.Its In, apply for referring to successfully that node head is pressed into from release dynamics node linked list in step S26 Use the chained list collection that the node head of new node is pressed into application internal memory length in dynamic node chained list or S27.It is logical Cross plus spin lock then ensures that being only capable of a core in synchronization operates the heap space, each core has multiple preferential The different task of level, interruption is turned off in application internal memory every time, is opened after applying successfully and interrupted, non-at this In normal down times, task will not switch, it is ensured that be atomic operation during the application of internal memory.
Example 2 as shown in accompanying drawing 9:Saved as in application on heap space with being applied in multi-nuclear DSP system Example, calls store function in application, is achieved by the steps of:
(201) it is the step of example 1 (111) that, first enters ginseng, and it is application internal memory length that second enters ginseng, It is to apply for dynamically or statically internal memory that 3rd enters ginseng, the length of address align, and the 5th enters to join Shen to want Shen Please memory block one name of definition;
(202), function enters ginseng and judges, if entering to join legal execution step (202), otherwise returns to mistake;
(203), according to carried in heap handle heap space is privately owned, shared model, judge whether application spin Lock, if shared heap, performs step (204), otherwise performs step (205);
(204) spin lock, is applied for;
(205) name of the application memory node, i.e. the 5th of step (201), are recorded and enters ginseng;
(206), ginseng is entered according to the 3rd in step (201), if Dram pattern, performs step Suddenly (207), step (208) is otherwise performed;
(207) dynamic heap memory management function, is called, the application of internal memory is realized, the function return value is The applied address of application is returned to, step (209) is performed;
(208) static heap memory management function, is called, the application of internal memory is realized, the function return value is The applied address of application is returned to, step (209) is performed;
(209), according to carried in heap handle heap is privately owned, shared model, judge whether to discharge spin lock, If shared heap, performs step (210), step (211) is otherwise performed;
(210) spin lock that, release steps (204) are obtained;
(211), using the address of the acquisition in step (208) or step (209) as step (201) Function return value, is the address of the internal memory applied.
Example 3 as shown in accompanying drawing 10:Describe the realization of the step (207) in example 2 in detail, realize Step is as follows:(301) handle of heap is inserted in Dram application function, applies for length, address align is long Degree, application node name, call function starts;
(302), according to application length, confirm which typical length value is the length fall in, obtain the typical case It is worth the index of length;
(303), the Central Shanxi Plain is broken, it is ensured that atomic operation;
(304), according to obtain typical length index, judge the typical length value the chained list of release whether It is sky, if the chained list is sky, performs step (305), otherwise performs step (308);
(305), according to application length, one section is opened up from the untapped data space of current heap, its length bag Include node head, representative value length and the part of node tail three;
(306) the contact head of the memory block that, step (305) is obtained inserts relevant field:Namespace node, Node's length, node, while inserting mark in node tail, illustrate this with mark, dynamic node mark It is the tail of node;
(307), the node be pressed into the representative value length after with chained list, perform step (310);
(308) node for the representative value, is ejected from chained list has been discharged;
(309) attribute of the node, is changed, is put with mark, then new name performs step (307);
(310) interruption, is opened;
(311), return node head followed by memory address, that is, return to the address of application.
As shown in figure 3, as a kind of preferably implementation method, after S23, also including S28, S28 Precedence relationship is not limited with S24 to S27.
S28:Obtain releasing request of the application to heap space internal memory.
General releasing request includes handle, the releasing memory address of heap space where releasing memory, wherein releasing It is the memory headroom of the return application in certain node in heap space to put memory address.
S29:Judge that the releasing memory address corresponding node in internal memory releasing request is dynamic node or static state Node, if dynamic node, then removes node, and be added to from dynamic node chained list is currently in use In dynamic node chained list through discharging;If static node, the releasing memory ground in internal memory releasing request is determined Location corresponding node is static node, then return to error message to application.
Specifically, judging that the releasing memory address corresponding node in internal memory releasing request is dynamic node or quiet State node, if dynamic node, then the memory pool by node from where it is currently in use dynamic node chained list Middle removal, and be added in the dynamic node chained list for having discharged;If static node, then mistake letter is returned Cease to application.
By the release to specified memory, convenient management.Releasing memory address can be the section of establishment in S22 The node memory address of point, or the node memory address of new node in S27.Static node is all used for The task of operating system, semaphore etc., separate with dynamic node, reduce by other the general of internal memory modification of crossing the border Rate, is increasing the reliability of system to a certain degree.
Preferably, after S28, also including S281:Whether the heap space is judged in shared region, If so, then add spin lock, if it is not, then the Central Shanxi Plain is disconnected until internal memory application success.Wherein, apply refer to successfully Then node is removed from dynamic node chained list is currently in use in step S28, and is added to what is discharged Or error message is returned in dynamic node chained list to application.Then ensured in synchronization only by adding spin lock One core of energy operates the heap space, and each core has the different task of multiple priority, in each releasing memory When turn off interruption, after the completion of release open interrupt, in this very down times, task will not switch, Ensure during the release of internal memory to be atomic operation.
Example 4 as shown in Figure 11:Applied with multi-nuclear DSP system, as a example by releasing memory on heap, Internal memory release following steps are realized:
(401) releasing memory function, is called, enters ginseng:The heap handle of releasing memory, releasing memory address, Call function starts;
(402) ginseng, is entered according to handle, address enters ginseng, obtains the node of release address;
(403) information, is carried according to node and judges it is dynamic node or static node, if dynamic node Step (404) is performed, application error is otherwise returned;
(404), judge whether the node is to have discharged node, if the node is performing step with node (405), otherwise return correct;
(405), the heap is shared heap or privately owned heapIf shared heap, performs step (406), such as Fruit is privately owned heap, performs step (407);
(406) spin lock, is obtained, step (408) is then performed;
(407), the Central Shanxi Plain is broken, and then performs step (408);
(408), the node is removed from in chained list;
(409) attribute of the node, is changed, from being release conditions with status modifier;
(410) node press-in chained list has been discharged into,;
(411), the heap is shared heap or privately owned heapIf shared heap, performs step (412), such as Fruit is that privately owned heap performs step (413);
(412) self-loopa lock, is exited, step (414) is then performed;
(413) interruption, is opened, step (414) is then performed;
(414), return.
Fig. 4 shows a kind of Memory Allocation management system one embodiment for the heap space provided according to the present invention Structured flowchart.A kind of Memory Allocation management system of heap space of the present embodiment system can be arranged on embedding In entering formula chip, such as dsp chip, naturally it is also possible to be arranged in other chips comprising CPU.It is a kind of The Memory Allocation management system of heap space includes heap space creating unit 31, memory pool creating unit 32 and moves Static attribute unit 33.
Heap space creating unit 31, for creating heap space.
Specifically, one piece of unappropriated memory headroom is used as heap space defined in internal memory.
For example:One piece of unappropriated memory headroom is used as heap space A defined in internal memory.
When heap space is created in multi core chip, the heap space information of application configuration includes privately owned heap attribute mark Will, then create heap space in privately owned storage region in core;The heap space information of application configuration includes shared heap Attribute mark, then create heap space in shared storage area in core.Internal memory domain according to CACHE attributes again It is divided into CACHE Attribute domains and without CACHE Attribute domains, generally, with CACHE Attribute domain is then privately owned storage region in core, is shared storage area in core without CACHE Attribute domains, Make heap management configuration of the invention flexibly, meet the locational requirement that heap is specified by user.
Memory pool creating unit 32, at least one typical length and each typical length according to application configuration Data number of blocks memory pool is created in heap space, be in memory pool with corresponding data number of blocks at least The node of one typical length memory headroom and the chained list collection of each typical length, the node of each node in memory pool The corresponding chained list collection of head press-in typical length.
Wherein, the typical length of application configuration can be one kind, or various.
As above example, application configuration the first typical length 108B and the second typical length 236B is according to application First typical length of configuration is 108B, and the data number of blocks of the first typical length is m, is created before The node of m with 108B memory headrooms is set up in the heap space A for building up, using being configured with the second allusion quotation again Type length is 236B, and the data number of blocks of the second typical length is n, then empty in the heap for creating before Between the m node with 108B memory headrooms is set up in A, the node of 108B memory headrooms should be carried Node head is pressed into the chained list collection b1 of memory pool B1, should carry the node head of the node of 108B memory headrooms The chained list collection b2 of press-in memory pool B1, these carry the node of 108B memory headrooms and with 236B internal memories The node in space, chained list collection b1 and chained list collection b2 constitute a memory pool B1.
Example 1 as shown in accompanying drawing 8:By taking the establishment of heap space in the application of multi-core DSP chip as an example, press Realized according to following steps:
(101), there is core private room in by dividing in the privately owned or shared attribute for, being set according to application A global aray variable is defined as heap space, array size will as create the size of heap space;
(102) the heap attribute structure body for, being provided according to this programme, defines a structure variable, as Record creates the association attributes parameter of heap;
(103) size of, the quantity of setting heap typical length block, and each typical length;
(104) name of heap, is defined;
(105), with step (101), (102), (103), (104) and privately owned or shared heap attribute mark Will enters ginseng as function is created, and calls heap to create function;
(106) two legitimacies for entering ginseng of heap attribute and heap initial address, are judged, if legal execution step (107) mistake, is otherwise directly returned;
(107), according to the length of heap attribute structure body, to the heap attribute structure body variable clear 0;
(108), record creates the attribute of heap:The head of the initial address of heap, i.e. heap, the length of heap, heap Current address, the privately owned or shared attribute mark of heap, heap typical length, the name record of heap to step (102) in attribute structure body variable;
(109), if heap is privately owned heap, privately owned heap chained list is pressed into using step (108) as node, it is no Then using step (108) as the shared heap chained list of node press-in;
(110), create and complete, using step (102) as function return value, return to using as sentence Handle;
(111) return value for global variable recording step (110), is defined.
Sound state template(-let) 33, the static state for determining node according to the either statically or dynamically attribute of application configuration Or dynamic attribute, the chained list collection of memory pool is including being currently in use dynamic node chained list, being currently in use static node Chained list and release dynamics node linked list.
Wherein, record has the dynamic that use/release conditions are use state in being currently in use dynamic node chained list The node head of node, be currently in use record in static node chained list to have use/release conditions is use state The node head of static node, it is release shape that record has use/release conditions in release dynamics node linked list The node head of the dynamic node of state.
General node is made up of tactic node head, the memory headroom two parts for returning to application, returns Length to the memory headroom of application is identical with corresponding typical length, and node head is the core of the node, dimension Protect the attribute of whole node and release mounted on internal memory chained list, included in node head the use of the node/ Release conditions, node head followed by the memory address to return to the memory headroom of application, as in node Deposit address.As above in example, the node with 108B memory headrooms and the node with 236B memory headrooms Node head length be 20B, node head length is 4B.
Preferably, node is by tactic node head, the memory headroom for returning to application and preset length The part of node tail three constitutes, and the length for returning to the memory headroom of application is identical with corresponding typical length, returns First address back to the memory headroom of application is the node memory address of node, and the node tail of preset length is every Individual design of node border, if the data that user fills in are crossed the border steps on other nodes, the mark of node tail is helped In orientation problem.
Static node is the node that releasing memory is not needed in system operation, is generally used for appointing for operating system Business, semaphore etc., separate with dynamic node, reduce by the probability of other internal memory modifications of crossing the border, in certain journey The reliability of increase system is spent, meanwhile, each node has one of attribute dynamically or statically, sound State is separated, and reduces time-consuming when node is joined the team or gone out group, can to a certain extent improve the efficiency of heap manager.
Fig. 5 shows a kind of second embodiment of Memory Allocation management system for the heap space provided according to the present invention Structured flowchart.It is embedding that a kind of Memory Allocation management system of heap space of the present embodiment can be arranged on DSP Enter in formula chip, such as dsp chip is naturally it can also arranged in other chips comprising CPU.This implementation Example be compared to a kind of difference of Memory Allocation management system one embodiment of heap space:The present embodiment In include unit for applying for internal memory and releasing memory.
In the present embodiment, the system includes heap space creating unit 41, memory pool creating unit 42, sound State template(-let) 43, request internal storage location 44, judging unit 45, releasing memory take unit 46, open Ward off the shared judging unit 441 of node unit 47 and first.
Heap space creating unit 41, for creating heap space.The implementation procedure of the unit creates single with heap space Unit 31 is identical, will not be repeated here.
Memory pool creating unit 42, at least one typical length and each typical length according to application configuration Data number of blocks memory pool is created in heap space, be in memory pool with corresponding data number of blocks at least The node of one typical length memory headroom and the chained list collection of each typical length, the node of each node in memory pool The corresponding chained list collection of head press-in typical length.The implementation procedure of the unit is identical with memory pool creating unit 32, Will not be repeated here.
Sound state template(-let) 43, the static state for determining node according to the either statically or dynamically attribute of application configuration Or dynamic attribute, the chained list collection of memory pool includes being currently in use dynamic node chained list, is currently in use static node Chained list and release dynamics node linked list.The implementation procedure of the unit is identical with sound state template(-let) 33, Will not be repeated here.
Request internal storage location 44, for obtaining request of the application to heap space application internal memory.
For example, call applying for interior store function, function includes that parameter has:The handle of heap space, application internal memory The definition title of length, the dynamic of application internal memory or static attribute and this application internal memory.
Judging unit 45, for determining maximum typical length of the application internal memory less than or equal to heap space, then judges Whether have in the release dynamics node linked list of the typical length matched with application internal memory length in heap space Node head.
Wherein, the typical length of matching is the minimum typical case's length in heap space more than or equal to application internal memory length Degree.
For example:Memory pool B1 has had the first typical length 108B and the second typical length 236B, if Shen Please internal memory length be 108B, then will determine that first match with application internal memory length 108B in heap space is typical Whether there is node head in the release dynamics node linked list of length 108B, if application internal memory length is 128B, Determine that it is less than maximum typical length 236B, therefore, will determine that in heap space with application internal memory length 128B Whether there is node head in the release dynamics node linked list of the first typical length 136B of matching.
Releasing memory takes unit 46, if being drawn for judging unit 45 long with application internal memory in heap space There is node head in the release dynamics node linked list of the typical length for spending matching, then by release dynamics section The memory address of node returns to application where point chained list interior joint head, by node head from release dynamics section Point chained list is pressed into and is currently in use dynamic node chained list.
If specifically, and judging that the typical case matched with application internal memory length in heap space grows in judging unit 45 There is node head in the release dynamics node linked list of degree, then by release dynamics node linked list interior joint head Node memory address return to application, the node memory of node head then turns into the application internal memory of application, while Judge that the node is dynamic node or static node, if dynamic node, then the node head is pressed into this interior That deposits pond is currently in use dynamic node chained list;If static node, then the node head is pressed into the memory pool It is currently in use static node chained list.
As above example, if application internal memory length is 108B, will determine that in heap space with application internal memory length 108B Whether there is a node head in the release dynamics node linked list of the first typical length 108B of matching, and space In have in the corresponding dynamic node chained lists for having discharged of typical length 108B and have node head t1, then it is assumed that should The memory headroom of node head corresponding node is in release conditions, then by the node memory address of node head t1 Return to application, node memory address is in node the first address of the memory headroom for returning to application, if section T1 length of nodding is 20B, then node head t1 first address skew 20B is returned to as node memory address Using the node memory of node head t1 then turns into the application internal memory of application.
Node unit 47 is opened up, if being matched with application internal memory length in drawing heap space for judging unit 45 Typical length release dynamics node linked list in there is no node head, then in heap space it is untapped in The new node that the memory headroom with application internal memory length is set up in space is deposited, the memory address of new node is returned To application, by the chained list collection of the node head press-in application internal memory length of new node.
As above example, if application internal memory length is 128B, determines that it is less than maximum typical length 236B, therefore, Will determine that the release of the first typical length 236B matched with application internal memory length 128B in heap space Whether there is node head in dynamic node chained list, and have that typical length 236B is corresponding have been discharged in space There is no node head in dynamic node chained list, then it is assumed that the memory headroom of the node of typical length 236B is located In the state that is currently in use, then according to application internal memory length, untapped memory headroom creates new section in heap space Point t3, it is the new node t3 of the memory headroom with 128B, and the node memory address of new node t3 is returned It is to apply for the chained list collection of internal memory length 128B by the node head t3 press-ins typical length of new node back to application In.
Wherein, the node head of new node is pressed into apply for internal memory length as the chained list collection of typical length:Judge Application internal memory is dynamic attribute or static attribute, if dynamic attribute, is then pressed into the node head of new node Correspond to memory pool is currently in use dynamic node chained list end;If static attribute, then the node head of new node Be pressed into correspondence memory pool is currently in use static list end.
As shown in figure 5 and figure 7, as a kind of preferably implementation method, also including the first shared judging unit 441, with request internal storage location 44, open up node unit 47 and releasing memory take unit 46 be connected: For whether judging the heap space in shared region, if so, then adding spin lock;If it is not, then the Central Shanxi Plain is disconnected straight To internal memory application success.
Wherein, apply for referring to successfully in releasing memory takes unit 46 that node head is dynamic from having discharged State node linked list is pressed into and is currently in use dynamic node chained list or opens up the section of new node in node unit 47 The chained list collection of press-in application internal memory length of nodding.Then ensure to be only capable of a core in synchronization by adding spin lock The heap space is operated, each core has the different task of multiple priority, in turning off in application internal memory every time It is disconnected, opened after the completion of application and interrupted, in this very down times, task will not switch, it is ensured that internal memory Application when be atomic operation.
Example 2 as shown in accompanying drawing 9:To apply for internal memory on heap space in being applied in multi-nuclear DSP system As a example by, store function in application is called, it is achieved by the steps of:
(201) it is the step of example 1 (111) that, first enters ginseng, and it is application internal memory length that second enters ginseng, It is to apply for dynamically or statically internal memory that 3rd enters ginseng, the length of address align, and the 5th enters to join Shen to want Shen Please memory block one name of definition;
(202), function enters ginseng and judges, if entering to join legal execution step (202), otherwise returns to mistake;
(203), according to carried in heap handle heap space is privately owned, shared model, judge whether application spin Lock, if shared heap, performs step (204), otherwise performs step (205);
(204) spin lock, is applied for;
(205) name of the application memory node, i.e. the 5th of step (201), are recorded and enters ginseng;
(206), ginseng is entered according to the 3rd in step (201), if Dram pattern, performs step Suddenly (207), step (208) is otherwise performed;
(207) dynamic heap memory management function, is called, the application of internal memory is realized, the function return value is The applied address of application is returned to, step (209) is performed;
(208) static heap memory management function, is called, the application of internal memory is realized, the function return value is The applied address of application is returned to, step (209) is performed;
(209), according to carried in heap handle heap is privately owned, shared model, judge whether to discharge spin lock, If shared heap, performs step (210), step (211) is otherwise performed;
(210) spin lock that, release steps (204) are obtained;
(211), using the address of the acquisition in step (208) or step (209) as step (201) Function return value, is the address of the internal memory applied.
Example 3 as shown in accompanying drawing 10:Describe the realization of the step (207) in example 2 in detail, realize Step is as follows:(301) handle of heap is inserted in Dram application function, applies for length, address align is long Degree, application node name, call function starts;
(302), according to application length, confirm which typical length value is the length fall in, obtain the typical case It is worth the index of length;
(303), the Central Shanxi Plain is broken, it is ensured that atomic operation, and atomic operation exits spin to wait core application to finish After lock, other cores obtain application authority;
(304), according to obtain typical length index, judge the typical length value the chained list of release whether It is sky, if the chained list is sky, performs step (305);Otherwise perform step (308);
(305), according to application length, one section is opened up from the untapped data space of current heap, its length bag Include node head, representative value length and the part of node tail three;
(306) the contact head of the memory block that, step (305) is obtained inserts relevant field:Namespace node, Node's length, node, while inserting mark in node tail, illustrate this with mark, dynamic node mark It is the tail of node;
(307), the node be pressed into the representative value length after with chained list, perform step (310);
(308) node for the representative value, is ejected from chained list has been discharged;
(309) attribute of the node, is changed, is put with mark, then new name performs step (307);
(310) interruption, is opened;
(311), return node head followed by memory address, that is, return to the address of application.
As shown in Figure 6 and Figure 7, as a kind of preferably implementation method, also including request releasing unit 48 With the node releasing unit 49 of connection request releasing unit 48, the output end connection of memory pool creating unit 43 Request releasing unit 48, or the output end connection request releasing unit 48 for warding off node unit 47.
Request releasing unit 48, for obtaining releasing request of the application to heap space internal memory.
General releasing request includes handle, the releasing memory address of heap space where releasing memory, wherein releasing It is the memory headroom of the return application in certain node in heap space to put memory address.
Node releasing unit 49, the releasing memory address corresponding node for judging in internal memory releasing request is State node or static node, if dynamic node, then move node from dynamic node chained list is currently in use Remove, and be added in the dynamic node chained list for having discharged;If static node, internal memory releasing request is determined In releasing memory address corresponding node be static node, then return error message to application.
Specifically, judging that the releasing memory address corresponding node in internal memory releasing request is dynamic node or quiet State node, if dynamic node, then the memory pool by node from where it is currently in use dynamic node chained list Middle removal, and be added in the dynamic node chained list for having discharged;If static node, then mistake letter is returned Cease to application.
By the release to specified memory, convenient management.Releasing memory address can be memory pool creating unit The node memory address of the node created in 42, or ward off in the node of new node in node unit 47 Deposit address.Static node is all used for the task of operating system, semaphore etc., is separated with dynamic node, reduces By other probability of internal memory modification that cross the border, the reliability of system is being increased to a certain degree.
Preferably, if shown in Fig. 6 and Fig. 7, also including the second shared judging unit 481, being released with request Put unit 48 and node releasing unit 49 is connected, for whether judging the heap space in shared region, If so, then adding spin lock;If it is not, then needing the Central Shanxi Plain disconnected until internal memory application success.Wherein, apply successfully Refer to that then node is removed from dynamic node chained list is currently in use in node releasing unit 49, and add To in the dynamic node chained list for having discharged or return error message to application.Then ensured by adding spin lock Synchronization is only capable of a core and operates the heap space, and each core has the different task of multiple priority, every Turn off interruption during secondary releasing memory, opened after the completion of release and interrupted, in this very down times, task Will not switch, it is ensured that be atomic operation during the release of internal memory.
Example 4 as shown in accompanying drawing 11:Applied with multi-nuclear DSP system, releasing memory is on heap Example, internal memory release following steps are realized:
(401) releasing memory function, is called, enters ginseng:The heap handle of releasing memory, releasing memory address, Call function starts;
(402) ginseng, is entered according to handle, address enters ginseng, obtains the node of release address;
(403) information, is carried according to node and judges it is dynamic node or static node, if dynamic node Step (404) is performed, application error is otherwise returned;
(404), judge whether the node is to have discharged node, if the node is performing step with node (405), otherwise return correct;
(405), the heap is shared heap or privately owned heapIf shared heap, performs step (406), such as Fruit is privately owned heap, performs step (407);
(406) spin lock, is obtained, step (408) is then performed;
(407), the Central Shanxi Plain is broken, and then performs step (408);
(408), the node is removed from in chained list;
(409) attribute of the node, is changed, from being release conditions with status modifier;
(410) node press-in chained list has been discharged into,;
(411), the heap is shared heap or privately owned heapIf shared heap, performs step (412), such as Fruit is privately owned heap, performs step (413);
(412) self-loopa lock, is exited, step (414) is then performed;
(413) interruption, is opened, step (414) is then performed;
(414), return.
In sum, the Memory Allocation management method system and embedded chip of heap space of the invention, realizes To the separate management of static, dynamic node, secondly the node in each typical length application, release is improved L applications, the efficiency of releasing memory, reduce it is time-consuming when node is joined the team or gone out group, can be to a certain extent The efficiency of heap manager is improved, system task is reduced by the probability of other internal memory modifications of crossing the border, increased to a certain degree The reliability of adding system.Each heap space can create multiple typical lengths according to demand, solve heap space pipe The problem of fragmentation in reason, while the internal memory that can quickly orient indivedual typical lengths is out of joint.
The above-described embodiments merely illustrate the principles and effects of the present invention, not for the limitation present invention. Any person skilled in the art can all enter under without prejudice to spirit and scope of the invention to above-described embodiment Row modifications and changes.Therefore, such as those of ordinary skill in the art without departing from institute of the present invention All equivalent modifications completed under the spirit and technological thought of announcement or change, should be by right of the invention It is required that being covered.

Claims (8)

1. the Memory Allocation management system of a kind of heap space, it is characterised in that including:
Heap space creating unit, for creating heap space;
Memory pool creating unit, at least one typical length according to application configuration and each typical length Data number of blocks creates memory pool in the heap space, is with corresponding data number of blocks in the memory pool At least one typical length memory headroom node and the chained list collection of each typical length, it is described in The node head for depositing each node in pond is pressed into the corresponding chained list collection of the typical length;
Sound state template(-let), the quiet of the node is determined for the either statically or dynamically attribute according to application configuration State or dynamic attribute, the chained list collection of the memory pool include being currently in use dynamic node chained list, be currently in use it is quiet State node linked list and release dynamics node linked list.
2. the system as claimed in claim 1, it is characterised in that the heap space creating unit, specifically For:If the heap space information of application configuration includes privately owned heap attribute mark, the privately owned storage region in core Interior establishment heap space;If the heap space information of application configuration includes shared heap attribute mark, shared in core Heap space is created in storage region.
3. the system as claimed in claim 1, it is characterised in that also include:
Request internal storage location, for obtaining request of the application to the heap space application internal memory;
Judging unit, for determining maximum typical length of the application internal memory less than or equal to the heap space, Then judge the release dynamics node chain of typical length matched with application internal memory length in the heap space Whether node head is had in table;
Releasing memory takes unit, if in heap space with the application typical length that matches of internal memory length There is node head in release dynamics node linked list, then by where release dynamics node linked list interior joint head The memory address of node returns to application, and the node head is pressed into just from release dynamics node linked list Using dynamic node chained list;
Node unit is opened up, if for having been released with the application typical length that matches of internal memory length in heap space Putting in dynamic node chained list does not have node head, then untapped memory headroom is set up with application in heap space The new node of the memory headroom of internal memory length, application is returned to by the memory address of new node, by new node The chained list collection of node head press-in application internal memory length.
4. system as claimed in claim 3, it is characterised in that also including the first shared judging unit, With it is described request internal storage location, open up node unit and releasing memory take unit be connected, in institute State after the request of the request internal storage location acquisition application heap space application internal memory, judge that the heap space is It is no in shared region, if so, then need plus spin lock, if it is not, then the Central Shanxi Plain is disconnected until internal memory application success.
5. the system as claimed in claim 1, it is characterised in that the node is by tactic node The part of node tail three composition of head, the memory headroom for returning to application and preset length, returns to the interior of application The length for depositing space is identical with the typical length.
6. the system as claimed in claim 1, it is characterised in that also include:
Request releasing unit, for obtaining releasing request of the application to the heap space internal memory;
Node releasing unit, the releasing memory address corresponding node for judging in internal memory releasing request is dynamic , if dynamic node, then from described be currently in use in dynamic node chained list node by node or static node Remove, and be added in the dynamic node chained list for having discharged;If static node, determine that internal memory release please Releasing memory address corresponding node in asking is static node, then return to error message to application.
7. system as claimed in claim 6, it is characterised in that also including the second shared judging unit, It is connected with the request releasing unit and node releasing unit, application is obtained for the request releasing unit Discharge after the request of the heap space internal memory, whether the heap space is judged in shared region, if so, then Plus spin lock, if it is not, then the Central Shanxi Plain is disconnected until internal memory discharges successfully.
8. a kind of embedded chip, it is characterised in that including as described in any one in claim 1-7 A kind of heap space Memory Allocation management system.
CN201510903818.9A 2015-12-09 2015-12-09 The Memory Allocation management system and embedded chip of heap space Withdrawn CN106855845A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510903818.9A CN106855845A (en) 2015-12-09 2015-12-09 The Memory Allocation management system and embedded chip of heap space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510903818.9A CN106855845A (en) 2015-12-09 2015-12-09 The Memory Allocation management system and embedded chip of heap space

Publications (1)

Publication Number Publication Date
CN106855845A true CN106855845A (en) 2017-06-16

Family

ID=59132110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510903818.9A Withdrawn CN106855845A (en) 2015-12-09 2015-12-09 The Memory Allocation management system and embedded chip of heap space

Country Status (1)

Country Link
CN (1) CN106855845A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569131A (en) * 2019-08-22 2019-12-13 北京华捷艾米科技有限公司 semaphore management system and semaphore management method
CN113485835A (en) * 2021-07-14 2021-10-08 深圳大趋智能科技有限公司 Method, system, equipment and medium for realizing memory sharing under multiple scenes
WO2023098496A1 (en) * 2021-11-30 2023-06-08 翱捷智能科技(上海)有限公司 Method and device for dynamically planning memory layout when embedded system is started
CN117435440A (en) * 2023-12-20 2024-01-23 麒麟软件有限公司 Dynamic analysis method and system for program heap space

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968772A (en) * 2010-10-22 2011-02-09 烽火通信科技股份有限公司 Method for implementing efficient memory pool of embedded system
CN102915276A (en) * 2012-09-25 2013-02-06 武汉邮电科学研究院 Memory control method for embedded systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101968772A (en) * 2010-10-22 2011-02-09 烽火通信科技股份有限公司 Method for implementing efficient memory pool of embedded system
CN102915276A (en) * 2012-09-25 2013-02-06 武汉邮电科学研究院 Memory control method for embedded systems

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569131A (en) * 2019-08-22 2019-12-13 北京华捷艾米科技有限公司 semaphore management system and semaphore management method
CN110569131B (en) * 2019-08-22 2022-03-15 北京华捷艾米科技有限公司 Semaphore management system and semaphore management method
CN113485835A (en) * 2021-07-14 2021-10-08 深圳大趋智能科技有限公司 Method, system, equipment and medium for realizing memory sharing under multiple scenes
CN113485835B (en) * 2021-07-14 2022-04-22 深圳大趋智能科技有限公司 Method, system, equipment and medium for realizing memory sharing under multiple scenes
WO2023098496A1 (en) * 2021-11-30 2023-06-08 翱捷智能科技(上海)有限公司 Method and device for dynamically planning memory layout when embedded system is started
CN117435440A (en) * 2023-12-20 2024-01-23 麒麟软件有限公司 Dynamic analysis method and system for program heap space
CN117435440B (en) * 2023-12-20 2024-04-05 麒麟软件有限公司 Dynamic analysis method and system for program heap space

Similar Documents

Publication Publication Date Title
CN106855788A (en) A kind of Memory Allocation management method of heap space
US9524117B2 (en) Control of page access in memory
CN106385329B (en) Processing method, device and the equipment of resource pool
CN106855845A (en) The Memory Allocation management system and embedded chip of heap space
CN101344861B (en) Smart card internal memory management method
CN101122883A (en) Memory allocation method for avoiding RAM fragmentation
CN106445834A (en) Managing Operational State Data in Memory Module
CN103425435B (en) Disk storage method and disk storage system
WO2022257302A1 (en) Method, apparatus and system for creating training task of ai training platform, and medium
CN108334396A (en) The creation method and device of a kind of data processing method and device, resource group
CN103345451A (en) Data buffering method in multi-core processor
US11385900B2 (en) Accessing queue data
CN105718319B (en) Memory pool layout analysis method and memory pool device
CN106294198B (en) A kind of memory allocation method and method for releasing of (SuSE) Linux OS
CN106557427A (en) The EMS memory management process and device of shared drive data base
CN103218305B (en) The distribution method of memory space
CN103793332B (en) Data storage method and device based on memory, processor and electronic equipment
CN110727517A (en) Memory allocation method and device based on partition design
CN105893320A (en) Remote task function calling method oriented at multi-core processor
CN108984295A (en) Method for recovering internal storage, computer installation and computer readable storage medium
CN100468410C (en) Method and system for building internal memory tree
CN105469173A (en) Method of optimal management on static memory
CN100365593C (en) Internal memory managerial approach for computer system
CN103703449B (en) Computer implemented method, system and the device that memory merges
CN104572483A (en) Device and method for management of dynamic memory

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20170616

WW01 Invention patent application withdrawn after publication