16-12-2010, 11:06 PM
Basically, dynamic memory allocation involves the allocation of memory storage for use in a computer program during the runtime of that program. The limited memory resources may thus be efficiently distributed among many pieces of data and code. the programmer either explicitly releases the memory thus allocated after use or the garbage collector does this.
Efficiency
The dynamic memory allocation algorithm actually used in the computer can impact performance significantly. the overheads involved for a variety of allocators is a major differentiator of the speed.
Implementations
Buddy blocks: These involve the allocation of memory from a large block in memory that is a power of two in size. sorted linked list or tree contains all the blocks that are of a particular size.
Fixed-size-blocks allocation: Here, a free list of fixed-size blocks of memory is used. This implementation works well with the embedded sysytems.
http://en.wikipediawiki/Dynamic_memory_allocation
http://www.osdevertutorials/25.alloc.pdf
Get the powerpoint at:
http://www.csl.mtu.edu/cs3090/www/lectur...cation.ppt
Efficiency
The dynamic memory allocation algorithm actually used in the computer can impact performance significantly. the overheads involved for a variety of allocators is a major differentiator of the speed.
Implementations
Buddy blocks: These involve the allocation of memory from a large block in memory that is a power of two in size. sorted linked list or tree contains all the blocks that are of a particular size.
Fixed-size-blocks allocation: Here, a free list of fixed-size blocks of memory is used. This implementation works well with the embedded sysytems.
http://en.wikipediawiki/Dynamic_memory_allocation
http://www.osdevertutorials/25.alloc.pdf
Get the powerpoint at:
http://www.csl.mtu.edu/cs3090/www/lectur...cation.ppt