Answer from cs61c-fz (Sean Nyberg 16014383) for Question 1 I'd say B and C, since malloc will only reduce the number of free blocks if the amount of memory the user wants is exactly equal to the size of the block malloc finds. Otherwise if it finds a block larger than the amount the user requests, it will take that amount from the block for the user and leave the remaining space in the block, thus the number of blocks in the free list is still the same. The final case is that malloc searches the whole free list and doesn't find a block that meets the user's requirements so it requests a new block from the operating system, large enough so that only a portion of the new block is returned to the user. In this case the number of blocks in the free list is increased!