CS230/330 : Operating Systems (Winter 2001)

Instructor

Name: David 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) or by appointment

Teaching Assistants

Grader

Class Information

Overview

The primary objective of this class is to cover concepts central to the design and implementation 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 security. A secondary objective of this course is to give you some experience working on a substantial software project and to prepare you for future work in systems research.

Prerequisites

Textbooks

Required We will be covering at least the first six parts of the Silberschatz book.

Recommended

The following books are not required, but you may want to make a purchase if you are unsure about your preparation for this class.

Grading Structure

Grading Scale

Graduate Credit

Graduate students and undergraduates taking the course for graduate credit will be required to perform additional work on the projects and exams. These additional requirements will be clearly indicated as "graduate only."

Class Accounts

To access the class machines, you will first need to obtain a CS account. Please go to http://www.cs.uchicago.edu/info/services.php to obtain an account. A dedicated set of Sun Solaris machines are used for this class. These machines are only available to students in CS230/330 and are intended to provide an environment in which you can experiment without receiving the wrath of an annoyed system administrator. The names of the class machines are as follows: Four of these machines are located in Ryerson 257 and can be used at the console. Otherwise, all of the machines are remotely accessible via 'ssh'.

Academic Dishonesty

You are encouraged to interact with your classmates and to discuss various design aspects of the projects and assignments. However, the work you hand in must be your own. Blatant copying or sharing of solutions or source code will result in an F in the course and referral to the college administration. Also, be advised that the operating system project changes from year-to-year. Therefore, past solutions to the project are likely to be of questionable utility.

A Few Words About The Project

Most of your grade in this course is determined by a substantial programming project in which you will work in groups to implement a fully-functional operating system kernel. Everything you might have heard about the project is true. Therefore, even though I will not be assigning daily busywork, you should plan on spending a considerable amount of time working in the lab. 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 this said, here are few things to keep in mind:

Where to go for help

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