Overview
Instructor: Harsha V. Madhyastha
Instructor Office hours: M 4-5 p.m. in EBUII 324 or email for appointment.
TA: Adam Dou
TA Office hours: Th 3:40-4:40 p.m. in EBUII 226 or email for appointment.
Lectures: TTh 2:10 p.m. - 3:30 p.m., ENGR2 141
Lab: M 11:10 a.m., ENGR2 135
Grading: Projects (3 x 15%) + Mid-term (25%) + Final (30%).
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:
- OS kernel organization and structure
- Processes and threads
- Concurrency and synchronization
- Memory management
- File systems
- Communication
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 |
| Apr 5 | Overview |   | |
| Apr 7 | Architectural Support for Operating Systems | Chapters 1 and 2 | Project 0 out |
| Apr 12 | Processes | Chapter 3 |   |
| Apr 14 | Threads | Chapter 4 | Project 0 due, Project 1 out |
| Apr 19 | Synchronization | Chapter 6.1-6.6 |   |
| Apr 21 | Semaphores and Monitors | Chapter 6.7-6.10 |   |
| Apr 26 | Scheduling and Deadlock | Chapters 5 and 7 |   |
| Apr 28 | (No Lecture. Work on Project 1.) |   | |
| May 3 | Review | Project 1 due, Project 2 out | |
| May 5 | Mid-term |   | |
| May 10 | Memory Management | Chapter 8 |   |
| May 12 | Paging | Chapter 9 |   |
| May 17 | Page Replacement | Chapter 9 |   |
| May 19 | File Systems | Chapter 10, 11 | Project 3 out |
| May 24 | (No Lecture.) | Project 2 due | |
| May 26 | FFS, LFS, RAID | Chapters 11 and 12 |   |
| May 31 | RPC and NFS |   | |
| Jun 2 | Final Review | ||
| Jun 7 | Project 3 due | ||
| Jun 9 | Final Exam (9-11am) |
Projects
The course will include three implementation-heavy projects. Details here.
Acknowledgment
Material for this course is significantly based on Prof. Geoff Voelker's offering of CS120 at UCSD. Huge thanks to Prof. Voelker!