0
Shashwat Shriparv
dwivedishashwat@gmail.com
InfinitySoft
The techniques needed to implement dynamic
storage allocation techniques depends on how
the space is deallocated.
ie, impl...
 Explicit allocation of fixed size block
 Explicit allocation of variable size block
 Implicit deallocation
 The simplest form dynamic storage allocation.
 The blocks linked together in a list and the
allocation and deallocation...
 available
available
 When blocks are allocated & deallocated
storage can become fragmented ie, heap may
consist alternate blocks that are fre...
 When a block of size is allocated it search for
the first free block size f>=s. This block is then
subdivided in to a us...
free free free
 Implicit deallocation requires the cooperation
between user program& runtime packages.this
is implemented by fixing the ...
 The first problem is to recognize the block
boundaries,for fixed size it is easy.
 In variable size block the size of b...
Two approaches can be used for implicit
deallocation.
 Reference counts
 Marking techniques
 We keep track of the no of reference to the
present block. if it ever drops to 0 the block is
deallocated.
 Maintaining...
 Here the user program suspend temporarily &
use the frozen pointers to determine the used
blocks This approach requires ...
Shashwat Shriparv
dwivedishashwat@gmail.com
InfinitySoft
Upcoming SlideShare
Loading in...5
×

Dynamic storage allocation techniques

3,096

Published on

Published in: Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,096
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
67
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Dynamic storage allocation techniques"

  1. 1. Shashwat Shriparv dwivedishashwat@gmail.com InfinitySoft
  2. 2. The techniques needed to implement dynamic storage allocation techniques depends on how the space is deallocated. ie, implicitly or explicitly
  3. 3.  Explicit allocation of fixed size block  Explicit allocation of variable size block  Implicit deallocation
  4. 4.  The simplest form dynamic storage allocation.  The blocks linked together in a list and the allocation and deallocation can done quickly with less or no storage overhead  A pointer available points to the first block in the list of available blocks
  5. 5.  available available
  6. 6.  When blocks are allocated & deallocated storage can become fragmented ie, heap may consist alternate blocks that are free & in use  In variable size allocation it will be a problem bcoz we could not allocate a block larger than any free blocks, even though the space is available  The first fit method can be used to allocate variable sized block
  7. 7.  When a block of size is allocated it search for the first free block size f>=s. This block is then subdivided in to a used block of size s& a free block of size f-s. Its time consuming;  When a block is deallocated ,it check to see if it is next to a free block .If possible,the deallocated is combined with a free block next to it to create larger free block.It helps to avoid fragmentation.
  8. 8. free free free
  9. 9.  Implicit deallocation requires the cooperation between user program& runtime packages.this is implemented by fixing the format of storage blocks. Optional block size Optional reference count Optional mark Pointers to blocks User information
  10. 10.  The first problem is to recognize the block boundaries,for fixed size it is easy.  In variable size block the size of block is kept in a inaccessible storage attached to the block.  The second problem is of recognizing the if a block is in use. Used block can be referred by the user program using pointers. The pointers are kept in a fixed position in the block for the easiness of checking the reference .
  11. 11. Two approaches can be used for implicit deallocation.  Reference counts  Marking techniques
  12. 12.  We keep track of the no of reference to the present block. if it ever drops to 0 the block is deallocated.  Maintaining reference counts can be costly in time(the pointer assignment p:=q leads to changes in the reference counts of the blocks pointed by both p&q)  Reference counts are best if there is no cyclical reference occurs.
  13. 13.  Here the user program suspend temporarily & use the frozen pointers to determine the used blocks This approach requires all the pointers to the heap to be known.(conceptually,it’s like pouring paint to the heap through the pointers)  First we go through the heap&marks all the blocks unused.Then we follow the pointers &mark all the reachable blocks as used.Then sequential scan of heap collects all the blocks still marked unused.
  14. 14. Shashwat Shriparv dwivedishashwat@gmail.com InfinitySoft
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×