Quiz submission record for quiz2-1-1 at Mon Jun 28 00:44:11 2004: Your Answer for Question 1: I think b is right answer. c is sure to be not true. If malloc takes the free block larger than user wants, the tail end of the block is allocated, So the number of free blocks remains unchanged Your Answer for Question 2: b and c are both true. If the block to free is absorbed by one adjacent block, the number of free blocks remains unchanged. If absorbed by two adjacent blocks, the number of free blocks will be reduced by 1. Your Answer for Question 3: In java, we can use 'new' keyword for malloc in C, like this : JFrame j= new JFrame(); but there is no memory free method like free() in C, because garbage collector treats not using memory automatically in JAVA. In some machines and C implementations, peculiar runtime memory layout prevents making automated free. casting void pointer also prevents it. Your Answer for Question 4: 1. yes. this structure can be reclaimed. Let's see. A B C D reference count of A is zero, so we can free A. This action reduces reference count of B and C by 1. Initialy, reference count of B and C is 1, so it becomes zero after deletion. We can delete B and C now. each action of delete B and C reduce r.c of D by 1. In beggining, r.c of D was 2, so it becomes zero. we can delete it now. We have deleted ALL structure by reference count method. 2. we can reach all node. we can't reclaim this structure. Your Answer for Question 5: It is most interesting and hard. I see newly about inside algorithm of malloc and free. Since I have used java, I have wondered how gc works. PH notes help me understand gc. But It is still hard.:) Your unique submission ID is quiz2-1-1-cs61c-bd-1088408651-3179.