Computer Science | School of Engineering | UC Santa Cruz
Home | Syllabus | Schedule | Reading List | Project | Grades | Feedback

CMPS 221: Advanced Operating Systems
Fall 2002

Syllabus

Time: Tuesday & Thursday 4:00–5:45 PM
Location: 372 Baskin
Instructor: Prof. Ethan Miller (elm@cs.ucsc.edu)
Office: 229 Baskin
Hours: Th 2–3, F 11–12
Prerequisites: CMPS 111 or equivalent
Home page: http://www.soe.ucsc.edu/~elm/Classes/221/f02/

Course Description

This course is a graduate level study of the issues in the design and implementation of computer operating systems. The readings are taken from the current research literature and articles of historical significance. The topics include, but are not limited to:

  • Early systems
  • Kernel structures
  • Memory management
  • File systems
  • Authentication, protection, and security
  • Synchronization
  • Performance evaluation
  • Reliability and fault tolerance
  • Communication and distributed systems

The course proceeds by topic, beginning with systems of historical significance. The focus will be on current research in the area, so the time allocated to each topic will depend on the availability of articles.

Preparation

You are expected to have basic operating system knowledge, such that provided by an undergraduate course such as CMPS 111. Undergraduates will be admitted only with the permission of the instructor.

Course Requirements

Readings

This course is structured around a reading list of representative papers in various areas of operating systems. We will cover 2–3 papers per class, for a total of 40–50 papers over the term. It is essential that you read each paper before the class in which it will be discussed. Most of the papers are available online, but are password-protected. The password will be distributed in class.

You must also prepare a short summary for each paper; a sample summary can be found here. Summaries must be prepared in plain (ASCII) text, and are due by email at noon on the day that the paper will be covered. Late summaries will not be accepted.

There are more papers than we have time to cover in class. As a result, there will be optional readings on the reading list. You are not required to read these papers, but are encouraged to do so. Even including the optional readings, the reading list is far from exhaustive. Students are encouraged to do their own research as well.

Project

You will be required to write a report on a topic in the area of computer operating systems. This report should be the results of a project, original research (preferred), or a strong survey of prior art. Reporting work done for another course is not acceptable. You must choose a topic by the second week of the quarter. Additional information on the project is available on the course web site.

Exams

You will be required to complete a midterm and final examination. These are normally take-home, and may include experimentation with an operating system, or trying out an interesting idea.

Grades

Your grade in the course is based on 20% for each examination, 45% for your term project, and 15% for class participation, which includes participation in class discussion as well as paper summaries. I typically assign an A to those students whom I believe are doing PhD-level work in systems. Those who are doing masters-level work in systems (nearly all grad students are capable of this) receive a B.

If you want to get an A in class, you may miss no more than one class worth of paper summaries. If you miss more than four classes worth of paper summaries, you cannot receive a B in the class. You must turn in summaries even if you will not be attending class—the only valid excuses for not turning in your summaries on time are a doctor's note or serious illness or death of a family member. The papers are all available online; if you think you won't have time in a particular week, read the papers ahead of time.

Your project will be graded on both content and presentation (both written and oral/poster). Those who do survey papers are limited to a maximum class grade of B.

Academic Integrity

"If I have seen further than other men, it is because I have stood on the shoulders of giants."
— Isaac Newton

This is a graduate course, and most of you are graduate students. As such, you will be doing a large amount of research during your graduate careers. Research is built on a foundation of citations and attributing the contributions of others. This means that all of the work you turn in must be your own. If you get ideas or material from any source other than your own mind, you must cite that source. Failure to do so constitutes plagiarism and will not be tolerated—you will fail the course. When in doubt, err on the side of caution and cite your source.

Plagiarism in graduate school is far more serious than in college or high school. Your reputation depends on your research and your integrity. You can overcome subpar research by doing better research, but it's much more difficult to overcome a reputation as a plagiarist. In short, don't plagiarize!


Last updated Tuesday, 17-Sep-2002 13:54:13 PDT by Ethan L. Miller (elm@cs.ucsc.edu)