Font Size: a A A

Research On Key Technology Of Memory Management In User Space

Posted on:2015-12-31Degree:MasterType:Thesis
Country:ChinaCandidate:Y L LouFull Text:PDF
GTID:2348330518470251Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
The dynamic memory management is very important in software development. Compare to static memory management which doesn't need to be interfered by developer, to use dynamic memory, developer need to manage the allocation and free operation by themselves.Dynamic memory management is very powerful, but because it is very complex, there are also a lot of problems. Memory fragmentation and memory leaking is the most serious problems among them. Memory fragmentation is caused by allocation and free too frequently which lead to small memory block can not be used by program and can not be recycled by OS. The increment of memory fragmentation will waste system memory as well as increase the time of allocation. Memory leaking means that after the developer allocates memory blocks, they do not free after using them and the OS can not recycle them. It will keep the program's memory usage increase. The memory resources of OS will exhaust.To solve the memory fragmentation and memory leaking problem in dynamic memory management, people propose many solutions. To solve the memory fragmentation, people have designed all kinds of memory pools for different kind of software. The memory pool requests big block of memory from OS, then manages the allocation and free by itself, returns the big block of memory back to OS at last. To solve the memory leaking problem, all kinds of memory leaking detect program are developed, the most famous one are valgrind. The memory leaking problem can also be solved by using language which can recycle memory etc.To solve the memory fragmentation problem,we design a new kind of memory pool which solves the problem in the situation that there are many fixed memory requests. This method makes the allocation and free fast and waste less memory. It also avoids the flaw that the memory pool memory usage can only increase. To solve the memory leaking problem, we design a new kind of memory leaking detect method. This method records the user's dynamic memory management. It detects the memory leaking by analyzing the log. Compared with other leaking detect method, it is Real-Time and light weight.
Keywords/Search Tags:dynamic memory management, memory pool, leak detect, fragmentation
PDF Full Text Request
Related items