CS 162: Operating Systems and System Programming
Instructors: John Kubiatowicz
Lecture: TuTh 15:30-16:59 PT in Hearst Field Annex A1
ZOOM Link: Live during class period
Professor Kubiatowicz's Office hours: TBD
Ed/Autograder/bCourses access for pending students
If you are a concurrent enrollment student or other student who is still trying to be officially registered, please click HERE. We will try to handle these as soon as possible. Note that this form will only get you temporary access to Ed, the Autograder, and bCourses. You need to independently work (possibly with staff) to become officially enrolled in the class.Schedule
| Week | Date | # | Lecture | Readings/Discussions | Homework | Project | Event |
|---|---|---|---|---|---|---|---|
| 1 | Mon 01/19 | ||||||
Tue 01/20 | 1 | What is an operating system? [1up.pdf] [pptx] | A&D Ch 1 | Release Homework 0: Introduction | Lecture Video: HERE | ||
Wed 01/21 | |||||||
Thu 01/22 | 2 | Four Fundamental OS Concepts [1up.pdf] [pptx] | A&D Ch 2 | Lecture Video: HERE | |||
Fri 01/23 | Discussion 0 [Worksheet][Solutions] | ||||||
Sat 01/24 | |||||||
| 2 | Sun 01/25 | ||||||
Mon 01/26 | C Review Session (4-5 @ Woz) | ||||||
Tue 01/27 | 3 | Abstractions 1: Threads and Processes [1up.pdf] [pptx] | A&D Ch 4 | Release Project 0: Pregame | Lecture Video: HERE | ||
Wed 01/28 | |||||||
Thu 01/29 | 4 | Abstractions 2: Threads (Con't), Process Management [1up.pdf] [pptx] | A&D Ch 3, Ch 4 | HW0 Due | Lecture Video: HERE | ||
Fri 01/30 | Discussion 1 [Worksheet] | Release Homework 1: List | Early Drop Deadline | ||||
Sat 01/31 | Group Registration Form Due | ||||||
| 3 | Sun 02/01 | ||||||
Mon 02/02 | |||||||
Tue 02/03 | 5 | Abstractions 3: Files and I/O, Sockets, and IPC [1up.pdf] [pptx] | |||||
Wed 02/04 | |||||||
Thu 02/05 | 6 | Abstractions 4: Sockets and IPC (Finished) | A&D Ch 5 | ||||
Fri 02/06 | Discussion 2 | ||||||
Sat 02/07 | |||||||
| 4 | Sun 02/08 | ||||||
Mon 02/09 | Project 0 Due | ||||||
Tue 02/10 | 7 | Synchronization 1: Concurrency, Mutual Exclusion, Lock Implementation, Atomic Instructions | Release Project 1: User Programs | ||||
Wed 02/11 | |||||||
Thu 02/12 | 8 | Synchronization 2: Lock Implementation, Atomic Instructions, Futex | HW1 Due | ||||
Fri 02/13 | Discussion 3 | Release Homework 2: Shell | |||||
Sat 02/14 | |||||||
| 5 | Sun 02/15 | ||||||
Mon 02/16 | |||||||
Tue 02/17 | 9 | Synchronization 3: Semaphores, Monitors, and Readers/Writers | A&D Ch 7.1-7.2 | ||||
Wed 02/18 | |||||||
Thu 02/19 | 10 | Synchronization 4: Readers/Writers, Scheduling Intro: Pintos Concurrency, FCFS | A&D Ch 7.4&7.6 | ||||
Fri 02/20 | Design Document Due | ||||||
Sat 02/21 | |||||||
| 6 | Sun 02/22 | ||||||
Mon 02/23 | |||||||
Tue 02/24 | No Lecture! | Midterm 1: 7-10pm | |||||
Wed 02/25 | |||||||
Thu 02/26 | 11 | Scheduling 1: Core Concepts and Classic Policies | A&D Ch. 6 | ||||
Fri 02/27 | Discussion 4 | ||||||
Sat 02/28 | |||||||
| 7 | Sun 03/01 | ||||||
Mon 03/02 | |||||||
Tue 03/03 | 12 | Scheduling 2: Classic Policies (Con't), Case Studies, Realtime, Starvation | |||||
Wed 03/04 | HW2 Due | ||||||
Thu 03/05 | 13 | Scheduling 3: Proportional Share Scheduling, Deadlock | Release Homework 3: HTTP (C version) (Rust version) | ||||
Fri 03/06 | Discussion 5 | Code and Final Report Due | |||||
Sat 03/07 | Release Project 2: Threads | ||||||
| 8 | Sun 03/08 | ||||||
Mon 03/09 | |||||||
Tue 03/10 | 14 | Memory 1: Address Translation, Virtual Memory, Segments and Page Tables | A&D Ch 8 | ||||
Wed 03/11 | |||||||
Thu 03/12 | 15 | Memory 2: Pagin (con't), Caching and TLBs | A&D Ch 9 | ||||
Fri 03/13 | Discussion 6 | ||||||
Sat 03/14 | Design Document Due | ||||||
| 9 | Sun 03/15 | ||||||
Mon 03/16 | |||||||
Tue 03/17 | 16 | Memory 3: Caching and TLBs (con't), Demand Paging | A&D Ch 10&12 | ||||
Wed 03/18 | |||||||
Thu 03/19 | 17 | Memory 4: Demand Paging Policies | A&D Ch 11 & 13 | ||||
Fri 03/20 | HW3 Due | ||||||
Sat 03/21 | Release Homework 4: Memory | ||||||
| 10 | Sun 03/22 | ||||||
Mon 03/23 | Spring Break | ||||||
Tue 03/24 | Spring Break | ||||||
Wed 03/25 | Spring Break | ||||||
Thu 03/26 | Spring Break | ||||||
Fri 03/27 | Spring Break | ||||||
Sat 03/28 | |||||||
| 11 | Sun 03/29 | ||||||
Mon 03/30 | |||||||
Tue 03/31 | No Lecture! | Midterm 2: 7-10pm | |||||
Wed 04/01 | |||||||
Thu 04/02 | 18 | General I/O | A&D Ch 14 NFS | ||||
Fri 04/03 | Discussion 7 | ||||||
Sat 04/04 | |||||||
| 12 | Sun 04/05 | HW4 Due | |||||
Mon 04/06 | Release HW5: Map Reduce (C version) (Rust version) | ||||||
Tue 04/07 | 19 | Device Drivers, Storage Devices, Performance | |||||
Wed 04/08 | |||||||
Thu 04/09 | 20 | File Systems 1: Performance, Queueing Theory, Filesystem Design | Code and Final Report Due | ||||
Fri 04/10 | Discussion 8 | Release Project 3: File Systems | |||||
Sat 04/11 | |||||||
| 13 | Sun 04/12 | ||||||
Mon 04/13 | |||||||
Tue 04/14 | 21 | Filesystems 2: Filesystem Design (Con't), Filesystem Case Studies, Buffering | RPC Lab Deadline (C version) (Rust version) | ||||
Wed 04/15 | |||||||
Thu 04/16 | 22 | Filesystems 3: File System Case Studies (Con't), Buffer Cache, Reliability | |||||
Fri 04/17 | Discussion 9 | Design Document Due | |||||
Sat 04/18 | |||||||
| 14 | Sun 04/19 | ||||||
Mon 04/20 | |||||||
Tue 04/21 | 23 | Distributed 1: Reliability, Transactions, Distributed Decision Making, 2PC | |||||
Wed 04/22 | |||||||
Thu 04/23 | 24 | Distributed 2: Distributed Decision Making (Con't), RPC, and Distributed Storage | Checkpoint Deadline | ||||
Fri 04/24 | Discussion 10 | ||||||
Sat 04/25 | |||||||
| 15 | Sun 04/26 | ||||||
Mon 04/27 | |||||||
Tue 04/28 | 25 | Distributed Systems (Additional Topics) | HW5 Due | ||||
Wed 04/29 | |||||||
Thu 04/30 | No lecture! | Midterm 3: 7-10pm | |||||
Fri 05/01 | No discussion | ||||||
Sat 05/02 | |||||||
| 16 | Sun 05/03 | ||||||
Mon 05/04 | RRR Week | ||||||
Tue 05/05 | 26 | Possible Special Topics Lecture, TBD | Code and Final Report Due | ||||
Wed 05/06 | RRR Week | ||||||
Thu 05/07 | RRR Week | ||||||
Fri 05/08 | RRR Week | ||||||
Sat 05/09 | |||||||
| 17 | Sun 05/10 | ||||||
Mon 05/11 | NO FINAL | ||||||
Tue 05/12 | NO FINAL | ||||||
Wed 05/13 | NO FINAL | ||||||
Thu 05/14 | NO FINAL | ||||||
Fri 05/15 | NO FINAL | ||||||
Sat 05/16 | |||||||
| 18 | Sun 05/17 |
Discussion and Office Hours
Our calendar has been moved to the Calendar page.