Required Readings & Textbook
-
• Selected readings will be assigned throughout the semester.
-
• "Distributed Systems" by Andrew S. Tanenbaum and Maarten Van Steen (2002 ed.).
For a more introductory background, the undergraduate OS text "Modern Operating Systems" also by Andrew S. Tanenbaum is recommended. This is particularly important for those of you attempting the additional prelim questions on the midterm and final exams.
Grading Policy
-
•20% Midterm (will include a prelim-specific addendum)
-
•20% Final (will also include a prelim-specific addendum)
-
•25% Homework Problems, Mini-Projects and Reading Assignments
-
•35% Project Work
In addition up to 5% extra credit can be awarded for outstanding work.
Purpose of the Course
Success in this course means that a student has gained an understanding of advanced operating systems concepts, with a particular emphasis on distributed and networked environments. Students are expected to complete a substantial project component (more details below), a portion of which will be set by the instructor, but the final component of which will be a student-selected, proposed, and completed project. Elements of fault tolerance and distributed storage will also be discussed.
Prerequisites & Prelim Requirements
At a minimum, the successful completion of an undergraduate operating systems course, and a knowledge of UNIX and C. Ideally, completion of an advanced undergraduate operating systems course.
To complete the PhD prelim requirements, a student must take both the midterm and final exams of the course, and answer the additional question(s) that are designated as such. These questions draw from material that is expected from the undergraduate operating systems course. The midterm will include at least one additional question focusing on uniprocessor synchronization problems, while the final is expected to include at least one question dealing with file systems and/or I/O scheduling. Either the midterm or final can include questions on scheduling algorithms. In addition to the material covered explicitly in this course, the reading list for prelim preparation includes the following from the undergraduate text:
• A. S. Tanenbaum: "Modern Operating Systems" (2nd ed.: chapters 2, 3, 5, 6, 9)
Project Details
The bulk of the term's project work will be a single larger project, selected by the student. A list of projects will be provided, and students will be allowed to work in teams. The project will be graded based on several documents: proposal, progress report, and final report. The final report carries the most weight, and though I will probably allow group work for projects that justify it, individual reports must be handed in, and both proposals and reports must indicate work distribution and responsibilities.