CS 170: Operating Systems

Spring 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 presentation will be an important 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. But they are not required. 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 Phelps 1425 (NOT Buchanan)
Office hours: TR 10:45-11:45, Engineering I 2121.
E-mail: acha@cs.ucsb.edu

Teaching Assistants:

Rohit Grover, grover@cs.ucsb.edu
Office hours: F 2-4pm
Ben Smith, besmith@cs.ucsb.edu
Office hours: WR 2-3pm, CSIL

Sections and Section Leaders

Monday 12-12:50, Broida 1015 - Rohit Grover
Friday 11-11:50, Phelps 1401 - Ben Smith