Answer from cs61c-ei (Jing Chen 16669246) for Question 1 Only statements b and c are true. A call to malloc means that there is a request to dynamically allocate storage in memory of a specified size. The free list, which contains a list of blocks of unallocated storage, is searched for a block of the sufficient requested size. A successful call to malloc basically returns the address of an appropriate portion of the storage. Although this may seem like a call to malloc would always reduce the number of free blocks, this is not always the case. When no block of sufficient size for a request exists on the free list, the library requests a new large block of storage from the underlying operating system. This would therefore increase the number of free blocks available (making c true). In addition, under the "first fit" method, if a block of sufficient size is found but is larger than the requested amount, the block is chopped into pieces and only large of the block would be allocated, leaving the other part still on the free list. This keeps the number of free blocks the same (making b true).