CS 411   (4 credits)
Operating Systems II
Spring 2005

Calendar        Assignments   Score Posting
Links       Announcements      Course Policies       Groups

Lecture

WNGR 116    MWF 13:00 - 13:50

Instructor

Paul D. Paulson    (contact info)
Office Hours

M W 2:30 – 4:00 PM
T R 1:30 – 3:00 PM
or by appointment in Dearborn 303E

Teaching Assistants

Office hours

Dan Moffitt    Dan's Help Session Schedule
Jim Wallace   Jim is there to help with homework assignments, quiz/exam review, etc.
Yuehua Xu     Yuehua is there to help with the project.

Prerequisites

CS 311, ECE 375 or CS 271

Textbook

Silberschatz, A., Galvin, P., & Gagne, G., "Operating System Concepts", 7th edition, Wiley, 2005
ISBN # 0-471-69466-5
 

Course Learning Objectives

  1. Given a description of a concurrent problem, choose appropriately between processes, user threads, or kernel threads and explain their reasoning.
  2. Given a description of a concurrent processes scenario, determine if synchronization is necessary, and explain why or why not.
  3. Solve the producer/consumer, reader/writers, dining philosophers as well as any simple synchronization problem using both semaphores and monitors.
  4. Given descriptions of two different simple CPU scheduling algorithms, compare the strengths and weaknesses of each with respect to waiting time, turnaround time, throughput, and implementation challenges.
  5. Given the contents of memory and the TLB, accurately map paged or segmented virtual addresses to physical addresses.
  6. Explain what impact paged virtual memory has on system performance, and recognize program memory access patterns that may seriously degrade the performance of a system.
  7. Given code for short concurrent programs, identify if there is a potential for deadlock, and provide alternative code that will not deadlock.
  8. Compute file sizes, fragmentation, and access times for simple disk block allocation mechanisms.
  9. Given well defined requirements, implement and test algorithms for operating system functions within a reasonably large and complex code base.
  10. Explain similarities and differences of CPU scheduling and of memory management for real-time operating systems with those of non-real-time operating systems.

Schedule

Check here every week; the schedule is subject to "adjustments"

Grades

  • 5 Homework assignments
  • 3 Programming projects
  • 3 Quizzes
  • Midterm exam
  • Final exam  (Thursday, June 9, 2:00 pm, WNGR 116)

You must earn at least a 60% average on quizzes and exams to pass the course.  You must also earn at least a 60% average on the projects to pass the course.

Final grades are based on the accumulated percentage.  See the evaluation criteria and grading scale.  Quiz, exam, and final grades may be adjusted linearly if it seems appropriate.

  • 10%
  • 40%
  • 12%
  • 16%
  • 22%