Font Size: a A A

Controlled Research And Development Of The Dynamic Memory Allocator

Posted on:2011-01-02Degree:MasterType:Thesis
Country:ChinaCandidate:T Y ZhengFull Text:PDF
GTID:2208360305994743Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Dynamic memory allocators are fundamental parts of operating systems which provide dynamic memory regions to processes. Processes request or release memory regions from dynamic memory allocators when needed. Dynamic memory allocators also play a very important role in the high-level programming language domain and determine the speed of processes and the utilization of memory space.This thesis designed a controllable dynamic memory allocator based on UNIX-like operating systems that runs in user-mode, which is called ztmalloc. Three different modes are introduced to cope with the requests according to the amount of the space requested, which are small mode, medium mode, and large mode.In the small mode, ztmalloc splits memory blocks twice, that is, spliting the memory blocks into lines for the first time, and then to memory regions of the same sizes. At last, ztmalloc selects a suitable free region for the user process.In the medium mode, ztmalloc uses buddy systems to split memory blocks, and then selects one to allocate.In the large mode, ztmalloc rounds the requested size up to multiple times of memory chunks, and allocate a memory area of that size for the user process.Variant of means is employed by ztmalloc to improve the performance including multi-threading optimizations, cache optimizations, and virtual memory system optimizations, etc.This thesis also analyzed and measured the performance of ztmalloc, and showed the well behavior and competitive power of it.
Keywords/Search Tags:dynamic memory allocation, controllability, virtual memory system, fragmentation
PDF Full Text Request
Related items