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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing 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
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.
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)
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)
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 |
-
2015
- 2015-12-09 CN CN201510903818.9A patent/CN106855845A/en not_active Withdrawn
Patent Citations (2)
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)
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 |