CS 162: Operating Systems and System Programming

Instructor: John Kubiatowicz

Lecture: TuTh 12:30 - 2:00 PM PT in Dwinelle 155

Zoom: https://berkeley.zoom.us/j/93648050826?pwd=RGJBRnpXcE1OeWxBRFUxdjBITU5qQT09

Office hours: Mon 1:00 - 2:00 PM PT and Th 3:00 - 4:00 PM PT in 673 Soda Hall


Schedule

WeekDate#LectureReadings/DiscussionsHomeworkProjectEvent
1
Sun
01/14
Mon
01/15
Martin Luther King Jr. Day
Tue
01/16
1Intro to CS162: What is an operating system? [1up.pdf] [pptx]A&D Ch 1Release Homework 0: IntroductionLecture Video: HERE
Wed
01/17
Thu
01/18
2Four Fundamental Concepts of Operating Systems [1up.pdf] [pptx]A&D Ch 2Lecture Video: HERE
Fri
01/19
Discussion 0: C, x86 [Worksheet] [Solution]
Sat
01/20
2
Sun
01/21
Mon
01/22
Release Project 0: PregameC Review Session [Slides] [Recording]
Tue
01/23
3Abstractions 1: Threads and Processes [1up.pdf] [pptx]A&D Ch 4Lecture Video: HERE
Wed
01/24
Due
Thu
01/25
4Abstractions 2: Process Management, Files, I/O [1up.pdf] [pptx]A&D Ch 3, Ch 4Release Homework 1: ListLecture Video: HERE
Fri
01/26
Discussion 1: Operating Systems [Worksheet] [Solution]Early Drop Deadline
Sat
01/27
Group Formation Deadline
3
Sun
01/28
Mon
01/29
Tue
01/30
5Abstractions 3: Files and I/O, Sockets, and IPC [1up.pdf] [pptx]DueLecture Video: HERE
Wed
01/31
Release Project 1: User Programs
Thu
02/01
6Abstractions 4: Sockets and IPC (finished) [1up.pdf] [pptx]Lecture Video: HERE
Fri
02/02
Discussion 2: Threads, I/O [Worksheet] [Solution]
Sat
02/03
4
Sun
02/04
Mon
02/05
Tue
02/06
7Synchronization 1: Concurrency, Mutual Exclusion, Lock Implementation, Atomic Instructions [1up.pdf] [pptx]A&D Ch 5
The Therac-25
Toyota Uncontroller Acceleration
Lecture Video: HERE
Wed
02/07
Due
Thu
02/08
8Synchronization 2: Lock Implementation, Atomic Instructions, Futex [1up.pdf] [pptx]Release Homework 2: ShellLecture Video: HERE
Fri
02/09
Discussion 3: Mutual Exclusion, Condition Variables [Worksheet] [Solution]Midterm 1 Conflict Request Form Due
Sat
02/10
Design Doc Deadline
5
Sun
02/11
Mon
02/12
Midterm 1 Review Session
Tue
02/13
9Synchronization 3: Semaphores, Monitors and Readers/Writers [1up.pdf] [pptx]Lecture Video: HERE
Wed
02/14
Thu
02/15
No LectureMidterm 1 (8-10 PM)
Fri
02/16
No Discussion
Sat
02/17
6
Sun
02/18
Mon
02/19
President's Day
Tue
02/20
10Synchronization 4: Readers/Writers
Scheduling Intro: Pintos Concurrency, FCFS
[1up.pdf] [pptx]
A&D Ch 7.1-7.2Lecture Video: HERE
Wed
02/21
Thu
02/22
11Scheduling 1: Concepts and Classic Policies, Case Studies [1up.pdf] [pptx]A&D Ch 7.4&7.6DueLecture Video: HERE
Fri
02/23
Discussion 4: Scheduling [Worksheet] [Solution] Release Homework 3: HTTP (C version) (Rust version)
Sat
02/24
7
Sun
02/25
Mon
02/26
Rust Crash Course [Recording]
Tue
02/27
12Scheduling 2: Classic Policies (Con't), Case Studies, Realtime, Starvation [1up.pdf] [pptx]A&D Ch. 6
Mars Pathfinder Priority Inversion
Lecture Video: HERE
Wed
02/28
Code and Report Due
Thu
02/29
13Scheduling 3: Proportional Share Scheduling, Deadlock [1up.pdf] [pptx]Release Project 2: ThreadsLecture Video: HERE
Fri
03/01
Discussion 5: Starvation [Worksheet] [Solution]
Sat
03/02
8
Sun
03/03
Mon
03/04
Tue
03/05
14Memory 1: Address Translation, Virtual Memory, Segments and Page Tables [1up.pdf] [pptx]A&D Ch 8DueLecture Video: HERE
Wed
03/06
Release Homework 4: Memory
Thu
03/07
15Memory 2: Paging (con't), Caching and TLBs [1up.pdf] [pptx]A&D Ch 9Lecture Video: HERE
Fri
03/08
Discussion 6: Paging, Caches [Worksheet] [Solution]
Sat
03/09
Design Doc Deadline
9
Sun
03/10
Mon
03/11
Midterm 2 Review Session [Slides]
Tue
03/12
16Memory 3: Caching and TLBs (Con't), Demand Paging [1up.pdf] [pptx]A&D Ch 10Lecture Video: HERE
Wed
03/13
Thu
03/14
No LecureMidterm 2 (8-10 PM)
Fri
03/15
No Discussion
Sat
03/16
10
Sun
03/17
Mon
03/18
Tue
03/19
17Memory 4: Demand Paging Policies [1up.pdf] [pptx]A&D Ch 12Lecture Video: HERE
Wed
03/20
Thu
03/21
18Memory 5: Demand Paging Policies (Finished) [1up.pdf] [pptx]A&D Ch 12 & 7.5Lecture Video: HERE
Fri
03/22
Discussion 7: I/O [Worksheet] [Solution]
Sat
03/23
11
Sun
03/24
Mon
03/25
Spring Recess
Tue
03/26
Spring Recess
Wed
03/27
Spring Recess
Thu
03/28
Spring Recess
Fri
03/29
Spring Recess, Cesar Chavez Day
Sat
03/30
12
Sun
03/31
Mon
04/01
Tue
04/02
19General I/O [1up.pdf] [pptx]Lecture Video: HERE
Wed
04/03
Due
Thu
04/04
20Device Drivers, Storage Devices, Performance [1up.pdf] [pptx]Patterson Appendix D.4/D.5 on Queueing TheoryRelease HW5: Map Reduce (C version) (Rust version)Lecture Video: HERE
Fri
04/05
Discussion 8: Queueing Theory, File Systems [Worksheet] [Solution]Code and Report Due
Sat
04/06
Evals Due
13
Sun
04/07
Release Project 3: File Systems
Mon
04/08
Tue
04/09
21Filesystems 1: Performance, Queuing Theory, Filesystem Design [1up.pdf] [pptx]A&D Ch 11 & 13
Fast File System
Lecture Video: HERE
Wed
04/10
Thu
04/11
22Filesystems 2: Filesystem Design (Con't), Filesystem Case Studies, Buffering [1up.pdf] [pptx]A&D Ch 14
NFS
Lecture Video: HERE
Fri
04/12
Discussion 9: File Systems (continued), Reliability [Worksheet] [Solution]RPC Lab Deadline (C version) (Rust version)
Sat
04/13
14
Sun
04/14
Mon
04/15
Design Doc Deadline
Tue
04/16
23Filesystems 3: File System Case Studies (Con't), Buffer Cache, Reliability [1up.pdf] [pptx]Lecture Video: HERE
Wed
04/17
Thu
04/18
24Distributed Decision Making, Networking and TCP/IP End-to-End Arguments in System Design
Distributed Systems for Fun and Profit
(Ch 1, 2, 4)
,
Dist Sys: RPC
The Byzantine Generals Problem
Fri
04/19
Discussion 10: Reliability, Distributed Systems Checkpoint Deadline
Sat
04/20
15
Sun
04/21
Mon
04/22
Tue
04/23
25Networking and TCP/IP (Con't), DNSVan Jacobsen's TCP paper,
NFS filesystem
Chord Paper,
Amazon Dynamo
Due
Wed
04/24
Thu
04/25
No LectureMidterm 3 (8-10 PM)
Fri
04/26
No Discussion
Sat
04/27
16
Sun
04/28
Mon
04/29
RRR Week
Tue
04/30
26Special Topics Lecture:
Distributed Storage and Quantum Computing.
Wed
05/01
RRR Week
Thu
05/02
RRR WeekCode and Report Due
Fri
05/03
RRR WeekEvals Due
Sat
05/04
17
Sun
05/05
Mon
05/06
No FinalPintos Fun
Tue
05/07
No Final
Wed
05/08
No Final
Thu
05/09
No Final
Fri
05/10
No Final
Sat
05/11

Discussion and Office Hours

This calendar includes cancellation and rescheduling.