Allocation techniques, Operating System

Since most of the programs require a lot of memory allocation/deallocation, we expect the memory management to be fast, to have low fragmentation, make good use of locality, and be scalable to multiple processors. Newer issues include security from attacks (e.g. use randomization of locations to minimize effect of buffer-over?ow attacks) as well as reliability in the face of errors (e.g. detecting double free()'s and buffer overruns).

In analyzing the speed of an allocator, the key components are the cost of malloc, the cost of free, and the cost of getting the size of an object (for realloc). In certain types of programs, for instance those with a lot of graphics manipulation, allocators can become the performance bottleneck, and so speed is important.

We say that fragmentation occurs when the heap, due to characteristics of the allocation algorithm, gets "broken up" into several unusable spaces, or when the overall utilization of the memory is compromised. External fragmentation happens when there is waste of space outside (i.e. in between) allocated objects; internal fragmentation happens when there is waste of space inside an allocated area.

Remember that the allocator might at any single time have several pages with unused space, from which it could draw pieces of memory to give to requesting programs. There are several ways to decide what are the good spots, among those with free memory, from which to take memory. The ?rst-?t method ?nds the ?rst chunk of desired size and returns it; it is generally considered to be very fast; best-?t ?nds the chunk that wastes the least of space; and worst-?t takes memory from the largest existent spot, and as a consequence maximizes the free space available. As a general rule, ?rst-?t is faster, but increases fragmentation. One useful technique that can be applied with these methods is always to coalesce free adjacent objects into one big free object.

Posted Date: 3/12/2013 6:05:35 AM | Location : United States







Related Discussions:- Allocation techniques, Assignment Help, Ask Question on Allocation techniques, Get Answer, Expert's Help, Allocation techniques Discussions

Write discussion on Allocation techniques
Your posts are moderated
Related Questions

Give a brief introduction about the operation of your program and show that you understand the idea behind threads and mutual exclusion variable. Why do we need to use mutual exclu

Briefly discuss on I/O hardware? A controller is a collection of electronics that can operate a port, a bus, or a device. A serial-port controller is an easy controller. It is

What is File Allocation? The structure that offers the FAT file system its name is the file allocation table . In order to know what this important table does, you should fir

Define LRU Page Replacement Algorithm LRU policy: LRU expands to least currently use. This policy suggests which we re- move a page whose last usage is farthest from current ti

MEMORY MANAGEMENT USING BUDDY SUSTEM Here we are dividing the memory as powers of two as well as we are selecting the space which is smallest but large enough to hold a process

Discuss difference between symmetric and asymmetric multiprocessing  Symmetric multiprocessing (SMP), in which every processor runs an identical copy of the operating system an

What is the main function of the memory-management unit? The runtime mapping from virtual to physical addresses is done by a hardware device known as a memory management unit (

Q. Name two differences between logical and physical addresses? Answer: A logical address doesn't refer to an actual existing address rather it refers to an abstract address in

Explain the Advantages and Drawback of Multiple Processes Application architected to take advantage of multiple processes will certainly see performance gains. Functions and Fe