CS230/330 : Operating Systems (Spring 2000)

Instructor

Name: Dave Beazley
Office : Ryerson 257B
Phone : (773) 702-9111
email : beazley@cs.uchicago.edu
Office hours: Whenever I am around (which is most of the time)

Teaching Assistants

Overview

The primary objective of this class is to cover the fundamental concepts central to the design, implementation, and use of modern operating systems. Topics include but are not limited to processes, threads, memory management, file systems, interprocess communication, I/O systems, scheduling, synchronization, and locking. In addition, the course has a number of secondary objectives such as sharpening your programming skills, giving you some experience working on a substantial software project, and preparing you for future work in advanced systems research.

Prerequisites

Textbooks

Required We will be covering at least the first six parts of the Silberschatz book. The Kernighan and Pike book is good bedtime reading if you have never worked on a large software project before.

Recommended

The following books are highly recommended if you are the least bit unsure about your preparation for this class.

Grading Structure

Grading Scale

And Now a Few Words About "The Project"

By now, you have hopefully taken a quick look at the grading structure for the class and noticed that there is no daily homework or any kind of midterm. Even the final is somewhat inconsequential (not to mention that it's optional). The bottom line is that this class revolves entirely around a substantial programming project in which you will be working in groups to implement a fully-functional Unix-like operating system kernel. Thus, even though there is no daily busywork, you should plan on spending a fair amount of time working in the lab throughout the quarter. Furthermore, it goes without saying that you will not receive a passing grade for the class unless you also receive a passing grade on the project.

With that said, there are a few things you should probably keep in mind:

Where to go for help

Operating systems is traditionally one of the most challenging computer science courses. Do not hesistate to come see myself or the TAs if you have any problems or concerns. Our goal is to make sure that you succeed in this class.

Emil Ong's tutorial sessions will include both lecture reviews and useful strategies for the project. Plan to attend these tutorials, as they will make your work on the project much easier.

Dustin Mitchell's primary responsibility is to help you become an expert C programmer by the end of the quarter. He will not keep specific office hours for the class, but is available by appointment and on a walk-in basis. If all of the above has made you a bit queasy, it is probably in your best interest to introduce yourself to Dustin soon.