CS 3733 Operating Systems, Fall 2006 Assignment 1 Comments

Note: Recitations meet on Mondays and Wednesdays. There are no more Friday recitations.

  1. Do not do any printing from the utility functions in this assignment, even when an error occurs.
  2. Use separate compilation. Put your functions in one file and use a separate file for the test methods.
  3. What does a = &first[0] do and how does it differ from a=first?
  4. What is the purpose of the * in the statement:
    *(a++);
  5. When using malloc use sizeof(char *) for the size of a pointer.
  6. Always test the return value of malloc for an error.
  7. You must include all of your source code. If you put some of it in another file, make sure you print out that file also.
  8. You must learn how to correctly use lint.
  9. When you staple the assignment, make sure the staple does not cover up the output.
  10. Do not ignore lint warning that are not on the list of warnings you can ignore.
  11. A lint warning in the form "implicitly declared to return int" usually means a missing include.
  12. Do not ignore lint warnings of the form: expression or subexpression has null effect. See item 4 above.
  13. When you are asked to write a test program, don't just do one test.
    You should include at least one test when one or more lists is empty and when the lists are the same.
  14. Look at the output from your test programs. Make sure that it gives the correct answers.
  15. You should be able to tell if the program is working just by looking at the test output. This means that you need to print the strings you are using for the test.
  16. If an error occurs in a utility function, free all unneeded memory before returning. You do not need to do this in the main program if it is going to exit anyway.
  17. Do not return a negative value from main. Only 8 bits are kept, so the return value should not be large.
  18. Source lines should be at most 80 characters in length and must fit on one line when printed.