NOTE: This submission was received late. The deadline was Mon Jun 28 11:00:00 2004 but the submission was not received until Sat Jul 3 15:32:07 2004. We will grade the last on-time submission for this quiz. Your Answer for Question 1: a. A successful call to malloc always reduce the number of free blocks. All the free blocks in the memory are organized(kept) in a linked list. Whenever malloc is called, it searches the list for free block of the appropriate size and returns it to the user, thus reducing the number of free locks in the memory. Your Answer for Question 2: Whenver free() is called, it checks whether the blocks adjacent to the freed block are free or not. If they are free, it merges them to form 1 single large free block. If not, it just adds the freed block to the free block list. Your Answer for Question 3: Java handles memory management automatically. The programmer need not worry about it. It uses a technique known as "garbage collection". We can't build an automatic allocation/deallocation system for C because of the use of pointers(REFERENCE COUNTERS) in C. Your Answer for Question 4: This structure can be reclaimed using reference count method. Reference counting systems perform automatic memory management by keeping a count in each object, usually in a header, of how many references there are to the object. Objects to which there are no references cannot be accessed by the mutator; they are therefore dead and may be reclaimed. Your Answer for Question 5: It was an interesting reading, except that buddy system reqired some concentration. I guess, it still not clear to me. But the face that linux and windows machines use different style of memory management is interesting. Your unique submission ID is quiz2-1-1-cs61c-fy-1088893927-2373.