CS 361 -- Operating Systems --- Spring 2016

The Final Exam will be held in MK 524 (the classroom) on Friday, 6 May 2016 at 8-10am.
You can check the exam schedule at the Registrar's Web site.

Some notes on fork(), exec() and vfork() can be found here.

    Midterm #1 Study Questions (answers)
    1. Name three ways in which a program executing in user mode can enter kernel mode.
    2. If a process writes continuously to a pipe but no data is read, where does the data reside and what action does the kernel eventually take?
    3. In what situations is vfork() a more efficient way to implement Unix process creation than fork()? Why is it more efficient?
    4. A program is structured using three processes: one reads input from an input file, one processes it and one writes the result to an output file. Are pipes or shared memory a better interprocess communication scheme to implement this program, and why?

    Midterm #2 Study Questions (answers)
    1. If an operating system implements preemption of an executing process, it can still use a non-preemptive scheduling policy. Explain the difference between low level preemption and preemptive scheduling policy.
    2. Explain why the straightforward implementation of the Critical Section problem (Figure 6.7 in Section 6.4 of Silberschatz Ed. 8) does not guarantee non-starvation.
    3. Define the reader/writer problem and explain how it can be solved using only mutexes.
    4. Write pseudocode for a solution to the Bounded Buffer problem that using semaphores.

    Final Study Questions

Instructor: Micah Beck
Office: Min Kao 433
Office Hours: Wed 1:30-2:30pm or by appointment
Email: mbeck@utk.edu

TA: Dong Zhong

TA: Tapajit Dey

TA: Lipeng Wan


Reading Assignments

All reading assignments refer to the ninth edition of Silberschatz (ISBN: 978-1-118-06333-0), but the corresponding sections in the eigth edition is equivalent and may be substituted.

Homework Assignments

All reading assignments refer to the ninth edition of Silberschatz. The homework problems will be made available to students in digital form. All homework solutions are to be submitted through Blackboard.

Annotated Course Syllabus

The couse syllabus and reading will mirror the first 13 chapters of the book. Chapters 11, 12 and 13 may be combined or abbreviated depending on the class schedule.

Course Requirements and Grading

  • There will be two midterm exams and a final exam.
  • Homework will be assigned on a regular basis.

The final course grade will be calculated as

    10%(H) + 25%(M1') + 25%(M2') + 40%(F)

  • H = homework grade
  • M1' = MAX(final exam grade, midterm 1 grade)
  • M2' = MAX(final exam grade, midterm 2 grade)
  • F = final exam grade

For example, a student who scores 70 on midterm 1, 85 on midterm 2, 84 on the final, and 75 on the homework will have an overall score of

    10%(75) + 25%(MAX(84, 70)) + 25%(MAX(84, 85)) + 40%(84) = 83.35

The intention of this grading scheme is that students have two chances to show their mastery of the material covered in the two midterms: on the midterm and on the cummulative final. The 90% of the course grade that is awarded on the basis of exams is available to every student at the time they take the final.

While it is possible for a student to skip the midterm exams and rely solely on the homework and final for their course grade, students are strongly advised against this approach. Here are some reasons for this advice:

  • Taking the midterm exams is a no-risk proposition: it can only improve a student's final course grade.
  • The midterms are more focused, and so it should be easier to study the material covered deeply and get a good grade.
  • There is less presure on students when taking midterms than during the final exam period.
  • Taking the midterms is the best preparation for the final exam.