Answer from cs61c-au (Robert Webb 14343043) for Question 1 B and C both can be true. If there is no block of memory in the free list that is big enough to hold the ammount requested by malloc, the program requests another large chunk of memory from the operating system to be added to the free list. This additional chunck of memory may be exactly the size of the memory needed, in which case the ammount of memory in the free list will not change. If the additional chunck is more than is needed, part of it will be given to malloc and the rest will be added to the free list, in which case the free list will increase in size. If this the leftover memory is contiguous with another block, it will be added to that block and the total number of blocks will not change. Otherwise, the left over memory will be a new free block.