CS 361 -- Operating Systems --- Spring 2015

The final exam will be held at 8:00-10:00am on Wed, April 29 in MK 524.

There will be a review session at 10:00am-12:00pm in MK 524 on Study Day, April 27.

    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. Why is user level thread creation a more "lightweight" (efficient) operation than forking a child process?
    4. A program is structured using three threads: one reads input from an input file, one processes it and one writes the result to an output file. Is many-to-one or one-to-one a better thread management scheme for 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: Wednesday 1:20-2:20pm
Email: mbeck@eecs.utk.edu

TA: Chad Effler

TA: Yunhe Feng


Reading Assignments

All reading assignments refer to the ninth edition of Silberschatz (ISBN: 978-1-118-06333-0), but the corresponding sections in the seventh or eigth editions are 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.