CS 170: Operating Systems

Fall 1999


Students are responsible for checking ANNOUNCEMENTS regularly (daily if possible).


Course Description: this is an introductory undergraduate course in operating systems. It emphasizes the core operating system concepts of protected kernels, processes and threads, concurrency and synchronizations, file systems, and virtual memory. The emphasis is on learning by doing. There will be no final. There will be no homeworks. The course is centered around projects using the infamous Nachos instructional operating system. For these projects, you will add functionality to a rudimentary operating system for a simulated MIPS-style machine. Projects will be done in two-person groups. Demos and oral presentations will be an important and mandatory part of each project submission. There will be a midterm. The mid-term will be 15% of the grade; the projects will be the other 85%.

Prerequisites: CS130A and CS154. Familiarity with C++ (or C) and basic Unix development tools (e.g., gmake, RCS) is assumed.

Textbook: Operating System Concepts, Fifth Edition by Avi Silberschatz and Peter Galvin. ISBN 0-201-59113-8, Addison-Wesley, 1998 (errata for this book can be found here). A copy of The C++ Programming Language by Stroustrup and the The MIPS RISC Architecture by Kane may be convenient/useful. As might A Quick Introduction to C++ (by Tom Anderson). Additional material will be linked off this web page.

Links: Nachos and friends, Projects, Grading


Instructor: Anurag Acharya
Class hours: TR 9:30-10:45 SH 1430
Office hours: TBA
E-mail: acha@cs.ucsb.edu

Teaching Assistants:

David Watson (david@cs.ucsb.edu)
Office hours: Wednesday 4-5pm CSIL, Thursday 8-9pm CSIL
Zoran Dimitrijevic (zoran@cs.ucsb.edu)
Office hours: Wednesday 8-9pm CSIL, Friday 3-4pm CSIL

Sections and Section Leaders

Wednesday, 5-5:50pm: Phelps 1401, David Watson
Friday, 2-2:50pm: Phelps 1420, Zoran Dimitrijevic