Quiz submission record for quiz2-1-1 at Mon Jun 28 10:28:29 2004: Your Answer for Question 1: My vote is for b and c. If the first fit block is bigger than requested, it splits that block, which leads to scenario b. If there's not a big enough free block for your malloc call, malloc goes and frees up some more memory. This new memory may be exactly what you had asked for or perhaps a bit too large, leaving the free blocks unchanged or maybe even increased. Your Answer for Question 2: Scenario b could occur if you supply a poor argument to free; there's no "successful" clause here. Otherwise I'm pretty sure it increases the number of free blocks, beacuse it keeps a list of free blocks and inserts the block onto that list. D could happen if you remove a free space with free spaces on adjacent sides. Your Answer for Question 3: I don't think there are java equivalents to malloc and free so much. You can allocate memory by making new objects, but java does that automatically for you. Instead of having to "free" like in C, Java has automatic garbage collection. These things are nice but probably come at a cost in processing power, explaining why C doesn't come standard with them. Humans can also probably do it better than the computer anyway. Your Answer for Question 4: I don't think it can be reclaimed using reference count; it doesn't have a reference counter of zero and doesn't look like it ever well. Mark and sweep could probably catch it because it doesn't look like anything else is actively referencing it other than itself. Your Answer for Question 5: 8.7 was pretty dense and hard to understand. Your unique submission ID is quiz2-1-1-cs61c-ah-1088443709-293.