CS170, Operating Systems

General Information

  • Lectures: Mon/Wed, 3:30PM-4:45PM, Phelps 3515
  • Professor: Ben Zhao, ravenben at cs.ucsb.edu
  • TAs: Bryce Boe (bboe at cs), Troy Steinbauer (troysteinbauer at cs)
  • Section:
    • Tuesday 1:00PM - 1:50PM, GIRV 1116
    • Friday 12:00-12:50PM, GIRV 2127
  • Office Hours:
    • Ben: Wednesday 2:30-3:30PM and by appointment, 936-103
    • Bryce: Monday 5-6PM, Thursday 2-3PM in CSIL
    • Troy: Tuesday 3-5PM, Wednesdays noon-1PM in CSIL
  • Class Email List: CS170-S11 Google Group
  • Prerequisites: CS 130A/125 and CS/ECE 154

Introduction


This course focuses on the study of Operating System design and implementation, and serves as an introduction into the study of computing systems. Main topics include: processes; interprocess communication and synchronization; input-output, file systems, memory management and networking. 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 of the course should build upon your previous experiences in CS130 or CS125 and give you a real taste of systems programming. I will hold weekly office hours (Mon 1-2PM) in order to answer questions on the materials covered in class and the exams. The TAs will handle detailed questions on projects and provide additional discussions on class material.

I will cover all of the course material in class in a presentation form, and will put the notes online in PDF format before the start of each lecture. Feel free to print them out and mark your notes on them. Doing so will save you time from copying down basic terminology, allowing you to instead focus on understanding the material instead of working as a recorder. We will also be reading from Prof. Andrew Tanenbaum's Operating Systems Design and Implementation book. PLEASE finish the required reading before coming into lecture. I will lecture assuming you have read the material, and skipping reading assignments will just make it harder for you to keep up in lectures.

Topics:
Introduction to Operating Systems
Computer System Structures
Operating System Structures
Process /Thread Management
CPU Scheduling
Process Synchronization / Deadlocks
Memory Management / Virtual Memory
File Systems / Secondary Storage
Security / Protection
Distributed Computing / Clouds
News