Memory allocation strategies, Data Structure & Algorithms

Assignment Help:

Q. Explain the various memory allocation strategies.                                                          

Ans.

Memory Allocation Strategies are given as follows

If it is not required to move blocks of allocated storage from one area of memory to the other area of memory,  it may be possible to relocate memory blocks that have been freed dynamically. Each time a request is made for storage or saving, the free area large enough to accommodate the size needed must be allocated. The most obvious methods for keeping track of the free blocks is to make use of linear linked list. Each free block contains a field comprising the size of the blocks and a field containing a pointer to be next free block. A global P for free block points to the 1st free block on this list. There are several methods or techniques of selecting the free block to use at when requesting storage.

The First - Fit Method:-       The free list is traversed sequentially or in order  to find the 1st free block whose size is greater than or equal to the amount requested. Once the block is found it is removed from the list (if it is greater than the amount requested). The 1st of these portions remains on the list and the 2nd is allocated.

The Best - Fit Method:- This method obtains the smallest free block whose size is greater than or equal to obtain such a block by traversing the full free list follows.
The Worst Fit method:- In this the system every time allocate a portion of the largest free block in memory. The philosophy at the back of this method is that by using small number of a very big block repeatedly to satisfy the majority of requested, many moderately sized blocks would be left un-fragmented.

The Free Storage List

 

The First fit method is as follows

294_memory allocation strategies.png

 

Best Fit method is as follows


 

1409_memory allocation strategies1.png

 Worst Fit Strategy is as follows

2008_memory allocation strategies2.png


Related Discussions:- Memory allocation strategies

Polynomials - represented by using arrays, /* the program accepts two polyn...

/* the program accepts two polynomials as a input & prints the resultant polynomial because of the addition of input polynomials*/ #include void main() { int poly1[6][

A linear list of elements in which deletion can be done, A linear list of e...

A linear list of elements in which deletion can be done from one end (front) and insertion can take place only at the other end (rear) is called as a   Queue.

Program segment for insertion of an element into the queue, Program: Progra...

Program: Program segment for insertion of an element into the queue add(int value) { struct queue *new; new = (struct queue*)malloc(sizeof(queue)); new->value = val

C++ function, Write c++ function to traverse the threaded binary tree in in...

Write c++ function to traverse the threaded binary tree in inorder traversal

Structural Induction, Let a be a well-formed formula. Let c be the number o...

Let a be a well-formed formula. Let c be the number of binary logical operators in a. (Recall that ?, ?, ?, and ? are the binary logical operators). Let s be the number of proposit

Drawback of sequential file, Following are some of the drawback of sequenti...

Following are some of the drawback of sequential file organisation: Updates are not simply accommodated. By definition, random access is impossible. All records should be

Explain floyds algorithm, Explain Floyd's algorithm It is convenient to...

Explain Floyd's algorithm It is convenient to record the lengths of shortest paths in an n by n matrix D known as the  distance matrix: the element d ij   in the i th   row an

Data structure- tree, Tree is dynamic data structures. Trees can expand & c...

Tree is dynamic data structures. Trees can expand & contract as the program executes and are implemented via pointers. A tree deallocates memory whereas an element is deleted.

Implementation of stack, Implementation of Stack :- Stacks can be execu...

Implementation of Stack :- Stacks can be executed in the 2 ways: a)  Arrays b)  Linked List

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd