CS170: Operating Systems


This course focuses on the study of operating system design and implementation, and serves as an introduction into the study of computing systems. The main topics include: processes and threads; interprocess communication and synchronization; memory management; file systems; input-output; security. The class itself has two main components, a design side that will be emphasized in lectures and an implementation side that will be explored through several programming projects. The programming component will give you a taste of systems programming and explores the inner workings of operating systems. I will cover the course material in class in a presentation form. The material is based on the book "Operating Systems - Design and Implementation (3rd edition)" by A. Tanenbaum and A. Woodhull (Prentice Hall). This book provides a nice mix of OS concepts and an in-depth treatment of the details of a real OS (Minix 3).


  • Here is a practice sheet for the final.
  • The deadline for Project 5 has been extended until Wednesday, June 12, 23:59:59 PST.
  • Project 5 has been released.
  • There will be NO CLASS and NO OFFICE HOURS on Tuesday, May 21. Instructor is at a security conference in San Francisco.
  • This week's office hours are moved from Tuesday, May 14 to Thursday, May 16 after class (3:30pm - 4:30pm).
  • Project 4 has been released.
  • Here is a practice sheet for the midterm.
  • Project 3 has been released.
  • The midterm will be on Tuesday, May 7 during class
  • Project 2 has been released.
  • Project 1 has been released.

General Information

Lectures:Tue/Thu, 2:00pm - 3:15pmBIOEN 1001
Discussion:Thu, 5:00pm - 5:50pmPHELP 1445
Discussion:Thu, 6:00pm - 6:50pmPHELP 1445
Discussion:Thu, 7:00pm - 7:50pmGIRV 2124
Instructor:Christopher Kruegelchris (at) cs.ucsb.edu
Office hours:Tue, 3:30pm - 4:30pmHarold Frank Hall 2117
TAs:Ryan Allenrallen00 (at) ucsb.edu
Sean Gillensgillen (at) ucsb.edu
Reader:Chinmay Gargchinmay (at) ucsb.edu
Office hours:Mon, 3:00pm - 5:00pmComputer Science Instructional Lab (CSIL)
Wed, 10:00am - 12:00pmComputer Science Instructional Lab (CSIL)
Discussion Board: Piazza

Grading Policy

The grading for CS170 is based on two exams (midterm and final) and several programming projects.

Exams (Midterm and Final)50%

Project Submission and Late Policy

Project assignments are due at 11:59:59PM on the night it is due. For details on how to submit your assignments, you should read the project pages.

Policy on Cheating and Plagiarism

A note on cheating. We encourage you to talk with your classmates and discuss your approaches on projects, but any actual copying of code is cheating. Cheating will result in a 0 on the assignment, and depending on severity, can result in a failing grade or possible administrative action by UCSB.