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).
The grading for CS170 is based on two exams (midterm and final) and several programming projects.
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.