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
Midterm conflict form
If you have a MT 1 conflict, please fill out this form below. Click HERE to fill out the form.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][Solutions] | 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] | Lecture Video: HERE | ||||
Wed 02/04 | |||||||
Thu 02/05 | 6 | Abstractions 4: Sockets and IPC (Finished) [1up.pdf] [pptx] | A&D Ch 5 | Lecture Video: HERE | |||
Fri 02/06 | Discussion 2 [Worksheet] | ||||||
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 | Design Document Due | |||
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 | |||||||
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.