COMPSCI 210, Spring 2001

Operating Systems

Useful Links

Tentative Schedule



Lecture Notes


Final Exam



Course Vital Statistics

Lecture Time: TH 12:40-1:55
Lecture Location: LSRC D106

Instructor: Carla Ellis
Office: D324 LSRC
Phone: 660-6523
Office Hours: Tuesdays and Thursdays, 2-3 p.m. (immediately after class)

TA: Nicoleta Popoviciu
Office: D343
Phone: 660-6564
Office hours by appointment.


This Web Page:
Newsgroup: duke.cs.cps210.
Anonymous feedback:



CPS 210 is a multi-threaded course in that it is meant to satisfy a number of different objectives: This year, the course content will focus on a theme:
How would one design an energy-aware OS for mobile / embedded computing devices?
The traditional basics will be covered by considering how things change and what things stay the same when one adopts different assumptions about the target architecture, intended workload, and metrics of importance. This theme question is an open problem and, hopefully, we will come up with some original contributions leading toward a solution.



Continually under construction!

There is no textbook that fits the theme of the course this term.
Any undergraduate textbook in Operating Systems will make an adequate reference for the background in the traditional topics. At Duke, there are plenty of copies of the following basic text around: Gary Nutt, Operating Systems: A Modern Perspective.

Other basic texts include:
Silberschatz and Galvin, Operating System Concepts, Addison-Wesly.
A. Tanenbaum, Modern Operating Systems,Prentice-Hall.

Lecture Notes

Lecture notes will usually be made available immediately before class and then revised (with 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%). Class participation will be a significant portion (15%) of your grade. There is an underlying question for most lectures: "How can this be used or how must a traditional approach be changed for energy efficiency?" I am 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. This year, there are two possibilities:

Option 1: Making a contribution to the Milly Watt group's SOSP (Symposium on Operating Systems Principles) submission. The submission date is March 26th, so this means starting (and finishing) your term project early in the term. The advantages are that you will be listed as a co-author and may get a chance to attend the conference next fall, you will be doing useful and valuable research with potential for expanding into second year project topics (and beyond), and you will become a member (however temporary) of our research group. Very soon, I will come out with a list of projects that will add value to our SOSP paper.

Option 2: 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).

Both kinds of projects will be presented in a mini-conference at the end of the reading period.

February 6: Submit a short (maximum of 1 page) project proposal.

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.


Problem sets and programming assignments will be listed here.

January 18: Five presentations, prepared by groups of 2 students each, on the following topics:
(1) Processors (StrongARM family, Transmeta Crusoe), (2) Memory and Secondary Memory Devices (RAMBUS RDRAM, IBM microdisk, flash memory, MEMS disk alternatives), (3) Input and Output (Display technology, data entry devices), (4) Power Sources (batteries, Smart Batteries, alternatives), (5) Networking (Wireless LANs, Bluetooth, cellular). Address characteristics of the technology, what to expect in the near future, features to exploit for power/energy management, etc. Each talk will last 10 to 15 minutes. Sign ups on the first day of class.

January 25: Six presentations, prepared by groups of 2 students each, on the following topics:
(1) ACPI, (2) Symbian OS, (3) PalmOS, (4) embedded Java and Jini, (5) Microsoft embedded solutions (winCE, PalmPC), (6) Embedded Linux. Address the programming model supported, interesting features of the API, and especially the power management features. Each talk will last 10 to 15 minutes. Sign ups on the first day of class.


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 2000

Spring 1999

Last Updated: 6-Jan-01