CSE 153 - Design of Operating Systems
Winter 2012

Overview

Instructor: Harsha V. Madhyastha
Instructor Office hours: T 12-1 p.m. in ENGR2 324 or email for appointment.

TA: Dorian Perkins
TA Office hours: W 2-3 p.m. in ENGR2 110

Lectures: TTh 8:10 a.m. - 9:30 a.m., ENGR2 143
Lab: M 6:10 p.m. - 9:00 p.m., ENGR2 135

Grading: Projects (10% + 2 x 15%) + Homeworks (3 x 5%) + Mid-term (20%) + Final (25%).

Textbooks:

Synopsis:

This course will cover the design of operating systems, with the discussion focused on the underlying principles and how they are implemented. Our discussion of operating system design will span the following broad topics:

The course also involves a project component, providing essential experience in programming with concurrency, implementing and unmasking abstractions, working within an existing complex system, and collaborating with other students in a group effort.

Policies:

Schedule

Please monitor your account on iLearn.ucr.edu for course announcements.

(You can log on to iLearn with your UCR NetID.)

Date Topic Reading Notes
Jan 10 Overview Chapter 1 Project 0 out
Jan 12 Architectural Support for Operating Systems Chapter 2
Jan 17 Processes Chapter 3
Jan 19 Threads Chapter 4 Project 0 due, Project 1 out
Jan 24 Synchronization Chapter 5.1-5.3
Jan 26 (No Lecture.) Homework 1 out
Jan 31 Semaphores and Monitors Chapter 5.4-5.7 Project 1 design doc due
Feb 2 Scheduling and Deadlock Chapters 6 and 7 Homework 1 due
Feb 7 Review Project 1 due
Feb 9 Mid-term Project 2 out
Feb 14 (No Lecture.)
Feb 16 Memory Management
Feb 21 Segmentation and Paging Chapters 15, 17, 18, and 19 of OSFEP Project 2 design doc due
Feb 23 Page Replacement Chapters 20 and 21 of OSSFEP Homework 2 out
Feb 28 File Systems Chapters 11, 12, and 13 Project 2 due
Mar 1 FFS, LFS, RAID Chapters 13 and 14 Homework 2 due, Project 3 out
Mar 6 RPC and NFS Homework 3 out
Mar 8 Virtual Machines Project 3 design doc due
Mar 13 Final Review Homework 3 due
Mar 15 Advanced Topics
Mar 17 Final Exam
Mar 20 Project 3 due

Homeworks

Projects

The course will include three implementation-heavy projects. Details here.