CS 3733 Operating Systems, Spring 2009 Exam 2 Comments

Grade Distribution (20 students):
90-100: 1
80-89: 1
70-79: 0
60-69: 3
50-59: 5
40-49: 6
30-39: 3
below 30: 1
Average: 52

Breakdown by problem:

problem:     1  2  3  4  5  6  7  8  9
max:        10 15 10 15  9  6 15 10 10
average:     6  6  4  9  7  2  7  9  4
num > 50%:  11  6  5 12 17  3  7 19  6
Comments on individual problems:
  1. This is similar to problem 2 of the first exam.
  2. You need to make sure you answer the question that is asked, rather than the one you want to answer.
  3. What is a mutex is not the same as What do you use a mutex for.
  4. Blocking a signal is different from ignoring it.
    An ignored signal is never delivered.
    A blocked signal is delivered when the signal is unblocked.
  5. For part c), the program may work fine as long as SIGUSR1 is not blocked when the code segment starts execution.
  6. It is not sufficient to avoid using fprintf in the rest of the program.
    The implementation of fprintf might call sprintf which might contain static storage.
    This would mean that you would not be allowed to use sprintf in the main program either.
    Avoiding all C library functions is a fairly drastic solution to this problem and usually not practical.
  7. This is 15 percent of the exam.
    You need to answer all of the parts of this problem.
    How is it formatted? How is it read? How is it written? How can C tell when the data is done?
    You need to be specific about the format of the data.
    Just saying: put it in a struct does not give enough info. There are many ways to "put a string in a struct".
    We discussed some of these for assignment 4.
  8. Avoid using ambiguous or misleading terms such as "at once" or "at the same time."
    The word "concurrently" is a good one to use.
  9. In this question you are asked how you would solve a problem.
    You need to give a solution to get credit.
    Do not just state what the problem is.
    Be specific when discussing the format of the data being sent.
    readNextInt is not an algorithm for retrieving the data.