CS230/330 : Operating Systems (S99)

Instructor

Name: Dave Beazley
Office : Ryerson 257B
Phone : (773) 702-9111
email : beazley@cs.uchicago.edu
Office hours: MWF 10:30 - 11:30 (or whenever my office door is open).

Prerequisites

Textbooks

We will be covering 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.

Overview

This course covers concepts that are central to the design and implementation of modern operating systems. Most of the course focuses on operating system internals including processes, threads, memory management, file systems, synchronization, interprocess communication, and I/O.

A Word About the Class Project

Most of the work in this class will be devoted to a group programming project in which you will implement a small Unix-like operating system kernel. Since this is not an introductory CS course, I will assume a certain level of proficiency with the C programming language as well as a familiarity with basic data structures such as linked lists, trees, hash tables, heaps, stacks, and queues. With that said however, I do not expect you to be an expert in all of the fine points of C programming and will cover advanced topics as needed.

The other point I want to emphasize is that you should not underestimate the amount of time required to complete the class projects. If you wait until the last minute to start, you will not finish and you will fail. On the bright side, your operating system project will only be about 1/10000th the rumored size of Windows 2000.

Grading Structure

Late assignments are not accepted unless prior arrangements have been made. If you miss the midterm or final, you will have to take a makeup oral exam. I do not recommend this option.

Grading Scale

Academic Dishonesty

I encourage you to discuss the projects with your classmates. However, all of the work you hand in must be your own. Source code will be checked for similiarity. Turning in identical solutions to assignments and projects will result in an F for the course.

Where to go for help

Operating systems is traditionally one of the most challenging computer science courses. Please do not hesistate to come see me if you have any problems or concerns.