sec memory management figure adding block to the freelist the word immediately preceding the start of in the memory pool stores the tag bit of the preceding block if is freemerge into we find the end of by using ' size field the word following the end of is the tag field for block if is freemerge it into then simply have its size extended to include block if block is not freethen we just add block to the freelist finallywe also check the bit following the end of block if this bit indicates that the following block (call it sis freethen is removed from the freelist and the size of is extended appropriately we now consider how "suitablefree block is selected to service memory request to illustrate the processassume there are four blocks on the freelist of sizes and (in that orderassume that request is made for units of storage for our exampleswe ignore the overhead imposed for the taglinkand size fields discussed above the simplest method for selecting block would be to move down the free block list until block of size at least is found any remaining space in this block is left on the freelist if we begin at the beginning of the list and work down to the first free block at least as large as we select the block of size because this approach selects the first block with enough spaceit is called first fit simple variation that will improve performance isinstead of always beginning at the head of the freelistremember the last position reached in the previous search and start from there when the end of the freelist is reachedsearch begins again at the head of the freelist this modification reduces the number of unnecessary searches through small blocks that were passed over by previous requests there is potential disadvantage to first fitit might "wastelarger blocks by breaking them upand so they will not be available for large requests later strategy that avoids using large blocks unnecessarily is called best fit best fit looks at the entire list and picks the smallest block that is at least as large as the request ( the "bestor closest fit to the requestcontinuing with the preceding examplethe best fit for request of units is the block of size leaving