COMPSCI 210, Spring 2005

Operating Systems

Useful Links

Tentative Schedule



Lecture Notes





Course Vital Statistics

Lecture Time: MW 2:50-4:05
Lecture Location: LSRC D243

Instructor: Carla Ellis
Office: D324 LSRC
Phone: 660-6523
Office hours: TBD

TA: Angela Dalton
Office: D343
Phone: 660-6564
Office hours: TBD


This Web Page:
Newsgroup: To use the bulletin board system register and follow the link to the CPS 210 forum
Anonymous feedback:



CPS 210 is a multi-threaded course in that it is meant to satisfy a number of different objectives: Each year, the course is a little bit different and is in a constant state of redesign. This keeps it fresh and relevant for both students and instructor. It also means that not every aspect of the course will be fine-tuned. This year, we have several new readings and new programming assignments in Linux.



Continually under construction!

The textbook is Linux Kernel Development by Robert Love (2003).

Recommended text for basic undergraduate background material is Modern Operating Systems, 2nd edition, by Andrew Tanenbaum.

Lecture Notes

Lecture notes will usually be made available immediately before class and then revised (if there is any substantial content added in class discussion) and reposted after class.


Base Workload. In addition to the readings, there will be homework assignments involving some programming (25%), a midterm exam (25%), and a written final exam (35%). Reading and class participation will be a significant portion (15%) of your grade. For each paper assigned, you should submit a paragraph evaluating the paper before classtime. Sometimes, there will be a specific question to answer about the reading assignment. I am also hoping for rich discussions in every class period.

The E-track, Grading, and Quals. This is a two-track class. Assigned work includes mandatory "G-track" components (the base workload described above) and some optional "E-track" components. The E-track work is necessary if you want to earn a grade of E or E+. The primary component of the E-track work is the term project.

CPS 210 is a "quals course" for CPS Ph.D. students. We assign quals passes based on demonstrated mastery of the quals material, regardless of your grade. In particular, E-track work is not necessary for a quals pass and will not improve your chances of earning a quals pass. The E-track is intended for students with a serious interest in systems or architecture. If you decide to take on E-track work, make sure you also leave yourself enough time to learn the course material and earn your quals pass. Students who passed the qualifying exam prior to taking the course are waived from having to take the two exams.

Grades will be assigned by adding your scores on the G-track work and exams, and assigning base grades curved from G- to E-. Undergraduates are graded on a different scale since this course is more advanced than typical undergraduate classes. Your scores for the E-track work are then added and curved to improve your base grade from 0 to 3 notches (e.g., 3 notches advances you from a base grade of G+ to a final grade of E+). We give S grades only for barely satisfactory work, since graduate students cannot receive credit for more than two S grades.

To summarize: if you do an outstanding job on all the G-track work (which includes exams), you'll get an E- and a quals pass; if you do a good job on the G-track work, you'll get a G or a G+ and the quals pass will depend on your exam scores; if you additionally do good work for the E-track, it is possible to get a grade higher than E-. We reserve E+ grades for truly outstanding students.


The term project is the key component of the E-track. The usual plan for term projects is to do projects of the students' own choosing. It is acceptable to combine this project with project work from another course (e.g. networks) as long as the topic of the project is appropriate (i.e., has something to do with Operating Systems). Projects will be presented in a mini-conference at the end of the reading period.

You are encouraged to form groups of two (or perhaps three) students to collaborate on projects.

Projects and other E-track work are held to a high standard; incomplete or incorrect work will receive little if any extra credit.


Assignment #1 - The Shell and System Calls

Assignment #2 - CPU Scheduling


On collaboration. Collaboration on problem sets and programming assignments is encouraged.
However, your final written work must be your own, and you may be called upon to explain (alone) your choices and answers in more detail. How can you know when you are crossing the line between leaning on your colleagues and learning with your colleagues? Here's the Gilligan's Island Rule:

This rule says that you have truly assimilated the knowledge gained by working with fellow students if you can leave the session without a written record of the interactions (electronic or otherwise), then engage in a half hour of mind-numbing activity (like watching an episode of Gilligan's Island), before starting to work on your own. This test assures that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain.

On giving credit where credit is due. You must acknowledge the sources of your words and ideas, when they are not your own, and you should list the names of anyone who helped you with your work. Thus, I acknowledge that much of this web page content comes from Professor Jeff Chase who developed the clever E-track system in previous offerings of CPS 210. The Gilligan's Island Rule is an inspiration of Professor Larry Ruzzo from University of Washington. Failing to give appropriate credit is at best a violation of professional etiquette, and at worst it is plagiarism. Plagiarism, like collaboration on exams, is cheating. Cheating is a very serious offense and I do not expect it to occur in this class.

Previous CPS 210

Spring 2004

Last Updated: 27-Dec-04