CS 162: Operating Systems and Systems Programming
Instructor: John Kubiatowicz
Lecture: TuTh 12:30 - 2:00 PM PT in VLSB 2050
Zoom: https://berkeley.zoom.us/j/91374369068?pwd=N0d5aUZoZVFMck1rQnhnY25xOHBMdz09
Schedule
Week | Date | # | Lecture | Readings/Discussions | Homework | Project | Event |
---|---|---|---|---|---|---|---|
1 | Sun 01/15 | ||||||
Mon 01/16 | Martin Luther King Jr. Day | ||||||
Tue 01/17 | 1 | Intro to CS162: What is an operating system? [1up.pdf] [pptx] | A&D Ch 1 | Release HW0: Introduction | Lecture Video: HERE | ||
Wed 01/18 | |||||||
Thu 01/19 | 2 | Four Fundamental Concepts of Operating Systems [1up.pdf] [pptx] | A&D Ch 2 | Lecture Video: HERE | |||
Fri 01/20 | Discussion 0: C, x86 [Worksheet] [Solutions] [Walkthrough] | ||||||
Sat 01/21 | |||||||
2 | Sun 01/22 | ||||||
Mon 01/23 | Release Project 0: Pregame | C Review Session (4:30-6:00 PM) | |||||
Tue 01/24 | 3 | Processes, System Calls, and Fork [1up.pdf] [pptx] | A&D Ch 4 | Lecture Video: HERE | |||
Wed 01/25 | Due | ||||||
Thu 01/26 | 4 | Fork (Con't), Introduction to I/O [1up.pdf] [pptx] | A&D Ch 3 | Release Homework 1: List | Lecture Video: HERE | ||
Fri 01/27 | Discussion 1: Fundamentals, Processes, Pintos Lists [Worksheet] [Solution] [Walkthrough] | Early Drop Deadline | |||||
Sat 01/28 | Group Formation Deadline | ||||||
3 | Sun 01/29 | ||||||
Mon 01/30 | |||||||
Tue 01/31 | 5 | Device Drivers, Sockets, and IPC (Finished), Concurrency (Processes and Threads) [1up.pdf] [pptx] | Due | Lecture Video: HERE | |||
Wed 02/01 | Release Project 1: User Programs | ||||||
Thu 02/02 | 6 | Synchronization 1: Concurrency [1up.pdf] [pptx] | A&D Ch 5.1-5.3 | Lecture Video: HERE | |||
Fri 02/03 | Discussion 2: Threads, I/O [Worksheet] [Solution] [Walkthrough] | ||||||
Sat 02/04 | |||||||
4 | Sun 02/05 | ||||||
Mon 02/06 | |||||||
Tue 02/07 | 7 | Synchronization 2: Concurrency (Con't), Mutual Exclusion, Lock Implementation, Atomic Instructions [1up.pdf] [pptx] | The Therac-25 Mars Pathfinder Priority Inversion Toyota Uncontroller Acceleration | Lecture Video: HERE | |||
Wed 02/08 | Due | ||||||
Thu 02/09 | 8 | Synchronization 3: Locks, Semaphores, Monitors [1up.pdf] [pptx] | Release Homework 2: Shell | Lecture Video: HERE Supplemental Video: HERE | |||
Fri 02/10 | Discussion 3: Mutual Exclusion, Condition Variables [Worksheet] [Solution] [Walkthrough] | Midterm 1 Conflict Request Due | |||||
Sat 02/11 | Design Doc Due | ||||||
5 | Sun 02/12 | ||||||
Mon 02/13 | Midterm 1 Review Session | ||||||
Tue 02/14 | 9 | Synchronization 4: Semaphores (Con't), Monitors and Readers/Writers [1up.pdf] [pptx] | Lecture Video: HERE | ||||
Wed 02/15 | |||||||
Thu 02/16 | No Lecture | Midterm 1 (7-9 PM, Wheeler 150) | |||||
Fri 02/17 | No Discussion | ||||||
Sat 02/18 | |||||||
6 | Sun 02/19 | ||||||
Mon 02/20 | President's Day | ||||||
Tue 02/21 | 10 | Scheduling 1: Concepts and Classic Policies [1up.pdf] [pptx] | A&D Ch 7.1-7.2 | Lecture Video: HERE | |||
Wed 02/22 | |||||||
Thu 02/23 | 11 | Scheduling 2: Classic Policies (Con't), Case Studies [1up.pdf] [pptx] | A&D Ch 7.4&7.6 | Due | Lecture Video: HERE | ||
Fri 02/24 | Discussion 4: Scheduling [Worksheet] [Solution] [Walkthrough] | Release Homework 3: HTTP (C version) (Rust version) | |||||
Sat 02/25 | |||||||
7 | Sun 02/26 | ||||||
Mon 02/27 | Rust Crash Course [Full Slides] [Recording] | ||||||
Tue 02/28 | 12 | Scheduling 3: Case Studies (Con't), Realtime, Starvation, Deadlock [1up.pdf] [pptx] | A&D Ch 6 | Lecture Video: HERE Lecture Video (Con't): HERE | |||
Wed 03/01 | Code and Report Due | ||||||
Thu 03/02 | 13 | Scheduling 4: Deadlock (Finished) [1up.pdf] [pptx] | Release Project 2: Threads [Design] [Report] | Lecture Video: HERE | |||
Fri 03/03 | Discussion 5: Starvation [Worksheet] [Solution] [Walkthrough] | ||||||
Sat 03/04 | |||||||
8 | Sun 03/05 | ||||||
Mon 03/06 | |||||||
Tue 03/07 | 14 | Memory 1: Address Translation, Virtual Memory, Segments and Page Tables [1up.pdf] [pptx] | A&D Ch 8 | Due | Lecture Video: HERE | ||
Wed 03/08 | Release Homework 4: Memory | ||||||
Thu 03/09 | 15 | Memory 2: Paging (con't), Caching and TLBs [1up.pdf] [pptx] | A&D Ch 9 | Lecture Video: HERE | |||
Fri 03/10 | Discussion 6: Paging, Caches [Worksheet] [Solution] [Walkthrough] | Design Doc Due | Midterm 2 Conflict Request Due | ||||
Sat 03/11 | |||||||
9 | Sun 03/12 | ||||||
Mon 03/13 | Midterm 2 Review Session | ||||||
Tue 03/14 | 16 | Memory 3: Caching and TLBs (Con't), Demand Paging [1up.pdf] [pptx] | A&D Ch 10 | Lecture Video: HERE | |||
Wed 03/15 | Midterm 2 (8-10 PM, Wheeler 150) | ||||||
Thu 03/16 | 17 | Memory 4: Demand Paging Policies [1up.pdf] [pptx] | A&D Ch 12 | Lecture Video: HERE Mid-Semester Survey Due | |||
Fri 03/17 | No Discussion | ||||||
Sat 03/18 | |||||||
10 | Sun 03/19 | ||||||
Mon 03/20 | |||||||
Tue 03/21 | 18 | Demand Paging Policies (Finished) [1up.pdf] [pptx] | Lecture Video: HERE | ||||
Wed 03/22 | |||||||
Thu 03/23 | 19 | General I/O, Storage Devices, Performance [1up.pdf] [pptx] | A&D Ch 12 & 7.5 | Lecture Video: HERE | |||
Fri 03/24 | Discussion 7: I/O [Worksheet] | ||||||
Sat 03/25 | |||||||
11 | Sun 03/26 | ||||||
Mon 03/27 | Spring Recess | ||||||
Tue 03/28 | Spring Recess | ||||||
Wed 03/29 | Spring Recess | ||||||
Thu 03/30 | Spring Recess | ||||||
Fri 03/31 | Spring Recess, Cesar Chavez Day | ||||||
Sat 04/01 | |||||||
12 | Sun 04/02 | ||||||
Mon 04/03 | Due | ||||||
Tue 04/04 | 20 | Filesystems 1: Performance (Cont'), Queueing Theory, Filesystem Design | A&D Ch 11 & 13 Fast File System | Release Homework 5: Map Reduce | |||
Wed 04/05 | Code and Report Due | ||||||
Thu 04/06 | 21 | Filesystems 2: Filesystem Design (Con't), Filesystem Case Studies | Release Project 3: File System | ||||
Fri 04/07 | Discussion 8: File Systems, Queueing Theory | ||||||
Sat 04/08 | |||||||
13 | Sun 04/09 | ||||||
Mon 04/10 | |||||||
Tue 04/11 | 22 | Filesystems 3: Filesystem Case Studies (Con't), Buffering, Reliability, Transactions | A&D Ch 14 NFS | ||||
Wed 04/12 | |||||||
Thu 04/13 | 23 | Transactions (Con't), End-to-End Arguments, Distributed Decision Making | End-to-End Arguments in System Design | RPC Lab Deadline | |||
Fri 04/14 | Discussion 9: Reliability | Design Doc Due | |||||
Sat 04/15 | |||||||
14 | Sun 04/16 | ||||||
Mon 04/17 | |||||||
Tue 04/18 | 24 | Distributed Decision Making (Con't), Networking and TCP/IP | Distributed Systems for Fun and Profit (Ch 1, 2, 4), Dist Sys: RPC The Byzantine Generals Problem | ||||
Wed 04/19 | |||||||
Thu 04/20 | 25 | Networking and TCP/IP (Con't), RPC, Distributed File Systems | Van Jacobsen's TCP paper, NFS filesystem | ||||
Fri 04/21 | Discussion 10: Distributed Systems | Checkpoint Deadline | |||||
Sat 04/22 | |||||||
15 | Sun 04/23 | ||||||
Mon 04/24 | |||||||
Tue 04/25 | 26 | Distributed Storage, NFS and AFS, Key Value Stores | Chord Paper, Amazon Dynamo | Due | |||
Wed 04/26 | |||||||
Thu 04/27 | No Lecture | Midterm 3 (7-9 PM) | |||||
Fri 04/28 | No Discussion | ||||||
Sat 04/29 | |||||||
16 | Sun 04/30 | ||||||
Mon 05/01 | RRR Week | ||||||
Tue 05/02 | 27 | Special Topics Lecture: (e.g.: Key-Value Stores (con't), Chord, DataCapsules, and Quantum Computing) | |||||
Wed 05/03 | RRR Week | Code and Report Due | |||||
Thu 05/04 | RRR Week | Pintos Fun | |||||
Fri 05/05 | RRR Week | ||||||
Sat 05/06 | |||||||
17 | Sun 05/07 | ||||||
Mon 05/08 | No Final | ||||||
Tue 05/09 | No Final | ||||||
Wed 05/10 | No Final | ||||||
Thu 05/11 | No Final | ||||||
Fri 05/12 | No Final | ||||||
Sat 05/13 | |||||||
18 | Sun 05/14 |
Discussion and Office Hours
This calendar includes cancellation and rescheduling.