For Program 6 you should complete your garbage collector.
Your Program 6 should support the functions defined in the Program 3 specification (memInitialize and memAllocate) and the debugging tool defined in the Program 5 specification (memDump). The memFree function defined in the Program 4 specification should now be hidden by declaring it as a static function.
The goal for Program 6 is to complete a garbage collector that you can be extremely proud of. If someone from industry contacts me to get a reference for you for a job or internship, you want to be comfortable suggesting to me that I show them your code as proof of your capabilities as a software engineer. So take the time to make the code "shine". (I even recommend running a spell checker on your comments!)
Your program will be graded primarily by testing it for correct functionality. In addition, however, you may lose points if your program is not properly structured and documented.
Your code will be graded using an CIS Linux machine (e.g. turing.unh.edu) so be sure to test in that environment. I will use gcc to compile your code.
You should submit the source code for your memory allocator in three files: C code should be placed in files called memAlloc.c and memCollect.c and Intel assembly code should be placed in a file called memAllocAsm.s.
Your program should be submitted for grading from a UNH
CIS Linux machine (e.g. turing.unh.edu).
To turn in this assignment, type:
~cs520/bin/submit prog6 memAlloc.c memCollect.c memAllocAsm.s
Please submit only the above source files. Do not turn in any other files!
Submissions can be checked by typing:
~cs520/bin/scheck prog6
To receive full credit for the assignment, you must turn in your files prior to 8am on Monday December 5. Programming assignments may be handed in late at a penalty of 2 points for one day late, 5 points for two days late, 10 points for three days late, 20 points for four days late, and 40 points for five days late. No program may be turned in more than 5 days late.
Remember: as always you are expected to do your own work on this assignment.
Comments and questions should be directed to hatcher@unh.edu