chap lists and arrays revisited remainder of size best fit has the disadvantage that it requires that the entire list be searched another problem is that the remaining portion of the best-fit block is likely to be smalland thus useless for future requests in other wordsbest fit tends to maximize problems of external fragmentation while it minimizes the chance of not being able to service an occasional large request strategy contrary to best fit might make sense because it tends to minimize the effects of external fragmentation this is called worst fitwhich always allocates the largest block on the list hoping that the remainder of the block will be useful for servicing future request in our examplethe worst fit is the block of size leaving remainder of size if there are few unusually large requeststhis approach will have less chance of servicing them if requests generally tend to be of the same sizethen this might be an effective strategy like best fitworst fit requires searching the entire freelist at each memory request to find the largest block alternativelythe freelist can be ordered from largest to smallest free blockpossibly by using priority queue implementation which strategy is bestit depends on the expected types of memory requests if the requests are of widely ranging sizebest fit might work well if the requests tend to be of similar sizewith rare large and small requestsfirst or worst fit might work well unfortunatelythere are always request patterns that one of the three sequential fit methods will servicebut which the other two will not be able to service for exampleif the series of requests is made to freelist containing blocks (in that order)the requests can all be serviced by first fitbut not by best fit alternativelythe series of requests can be serviced by best fit but not by first fit on this same freelist buddy methods sequential-fit methods rely on linked list of free blockswhich must be searched for suitable block at each memory request thusthe time to find suitable free block would be th(nin the worst case for freelist containing blocks merging adjacent free blocks is somewhat complicated finallywe must either use additional space for the linked listor use space within the memory pool to support the memory manager operations in the second optionboth free and reserved blocks require tag and size fields fields in free blocks do not cost any space (because they are stored in memory that is not otherwise being used)but fields in reserved blocks create additional overhead the buddy system solves most of these problems searching for block of the proper size is efficientmerging adjacent free blocks is simpleand no tag or other information fields need be stored within reserved blocks the buddy system