Boundary tag method in context of dynamic memory management, Data Structure & Algorithms

Assignment Help:

Q. How can we free the memory by using Boundary tag method in the context of Dynamic memory management?                                                                                                      

Ans.

Boundary Tag Method to free Memory is described below

To remove the arbitrary block from the free list (to combine it with the newly made free block) without traversing the whole list, the free list should be doubly linked. Thus each and every free block must contain 2 pointers, next and prev to the next and previous free block on the free block. (This is required when combining a newly freed block with a free block which immediately proceeds in the memory). Thus the front of the free block should be accessible from its rear. One way to do this is to introduce a bsize field at the given offset from the last location or address of each free block. This field exhibits the same value as the size filed at the front of the block. This field have the some value as the size field at the front of the block. The figure below shows the structure of free and allocated blocks under this method which is called the boundary tag method.

free block                                         allocated block

2446_boundary tag.png

Each of the contract fields fflag, prev, size, next, bsize next and bflag is shown as occupying a complete word, although in practice they can be packed together, several fields to a word. We assume that fflag or bflag are logically flags and that true signifies an allocated block and false indicates a free block. Using the information in the free block and the newly freed block, the system merges the two blocks into a bigger hole.


Related Discussions:- Boundary tag method in context of dynamic memory management

Data searching, In file access: what is the difference between serial, seq...

In file access: what is the difference between serial, sequential and indexed sequential searching

Hash table, Programming for hash table?

Programming for hash table?

Applications of avl trees, AVL trees are applied into the given situations:...

AVL trees are applied into the given situations: There are few insertion & deletion operations Short search time is required Input data is sorted or nearly sorted

Define ordinary variable, Ordinary variable An ordinary variable of a e...

Ordinary variable An ordinary variable of a easy data type can store a one element only

Splay trees, Addition of new records in a Binary tree structure always occu...

Addition of new records in a Binary tree structure always occurs as leaf nodes, which are further away from the root node making their access slower. If this new record is to be ac

Which of the sorting algorithm is stable, Which of the sorting algorithm is...

Which of the sorting algorithm is stable   Heap sorting is stable.

For loop, for (i = 0; i sequence of statements } Here, the loop e...

for (i = 0; i sequence of statements } Here, the loop executes n times. Thus, the sequence of statements also executes n times. Since we suppose the time complexity of th

Time required to delete a node x from a doubly linked list, The time needed...

The time needed to delete a node x from a doubly linked list having n nodes is O (1)

Program for all pairs shortest paths algorithm, Program segment for All pai...

Program segment for All pairs shortest paths algorithm AllPairsShortestPaths(int N, Matrix C, Matrix P, Matrix D) { int i, j, k if i = j then C[i][j] = 0  for ( i =

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