Consider an allocator that uses an implicit free list. The layout of each allocated and free memory block is as follows: 31 210 Header Block Size (bytes) Footer Block Size (bytes) Each memory block, either allocated or free, has a size that is a multiple of eight bytes. Thus, only the 29 higher order bits in the header and footer are needed to record block size, which includes the header and footer. The usage of the remaining 3 lower order bits is as follows: • bit O indicates the use of the current block: 1 for allocated, O for free. • bit 1 indicates the use of the previous adjacent block: 1 for allocated, O for free. • bit 2 indicates the use of the next adjacent block: 1 for allocated, O for free. Given the contents of the heap shown below, fill in the blank to show the new contents of the heap after a call to free(Ox400b010) is executed. Your answers should be given as hex values (omit leading zeros). Note that the address grows from bottom up, and each "cell" is four bytes. Assume that the allocator uses immediate coalescing, that is, adjacent free blocks are merged immediately each time a block is freed. Also assume that any blocks not shown are allocated. Contents of the heap before call to free(0x400b010): Contents Address 0x400b030 Ox17 0x400b02c Ox2 0x400b028 Ox1 0x4005024 Ox17 0x4006020 Oxid 0x400b01c Oxfffffffc 0x400b018 Oxfffffffd 0x400b014 Oxfffffffe 0x400b010 Oxffffffff 0x400bOOC Ox 1d 0x40050080x16 0x40050040x200b6010 0x4005000 0x800b5110 0x400affc 10x16 Contents of the heap after call to free(Ox400b010): Address Contents 0x4005030 Ox 17 0x2 0x400b02c B 0x400b028 Ox1 0x40050240x 17 0x400b020 Ox 1d Oxfffffffc 0x400b01c 0x400b018 0x4005014 Oxfffffffd Oxfffffffe Oxffffffff 0x4005010 0x400b0oc Ox 1d 0x400b008 Ox 16 Ox400b004 Ox200b601c Ox400b000 Ox800b5110 0x400affc Ox 16 Answer 1: 17 Answer 2: 17 Answer 3: 1d Answer 4: 1d Answer 5: 16 Answer 6: 16 Incorrect Question 7 0/3 pts Consider an allocator that uses an implicit free list. The layout of each allocated and free memory block is as follows: 31 210 Header Block Size (bytes) I------------ ----I---- ------------ - - - - - -- - -- - - - - Footer Block Size (bytes) ----------- Each memory block, either allocated or free, has a size that is a multiple of eight bytes. Thus, only the 29 higher order bits in the header and footer are needed to record block size, which includes the header and footer. The usage of the remaining 3 lower order bits is as follows: • bit O indicates the use of the current block: 1 for allocated, 0 for free. . bit 1 indicates the use of the previous adjacent block: 1 for allocated, O for free. • bit 2 indicates the use of the next adjacent block: 1 for allocated, O for free. Given the contents of the heap shown below, fill in the blank to show the new contents of the heap after a call to free(0x400b010) is executed. Your answers should be given as hex values (omit leading zeros). Note that the address grows from bottom up, and each "cell" is four bytes. Assume that the allocator uses immediate coalescing, that is, adjacent free blocks are merged immediately each time a block is freed. Also assume that any blocks not shown are allocated. Contents of the heap before call to free(0x400b010): Address Contents Ox400b030 Ox17 Ox2 0x400502 0x400b028 0x4005024 Ox1 Ox17 Ox400b020 Ox1d 0x400b01c Oxfffffffc Ox400b018 Oxfffffffd Ox400b014 Oxfffffffe Ox400b010 Oxffffffff 0x400b0Oc Oxid Ox400b008 Ox16 0x40050040x200b6010 0x400b000 0x800b5110 Ox400affc Ox16 Contents of the heap after call to free(0x400b010): Address Contents 0x400b030 Ox 17 Ox2 0x400b02C 0x400b028 Ox1 0x4005024 Ox 17 0x400b020 Ox 1d Ox400b01c Oxfffffffc Ox400b018 Oxfffffffd Oxfffffffe 0x4005014 0x400b010 Oxffffffff 0x400b00c Ox o 0x400b008 Ox 0 Ox400b004 Ox2005601c 0x400b000 0x800b511c 0x400affc Ox O