Lectures

#19: Looking back and ahead

Monday, August 23

#18: Async I/O

Wednesday, August 18

Also see lecture 18 and lecture 19 from CS 110L to see how async I/O works in other languages such as Rust!

#17: MapReduce

Monday, August 16

Nick Troccoli’s slides from winter 2021 may be a helpful resource. In addition, if you’re interested, the original MapReduce paper contains many more details about the motivation and implementation of MapReduce!

#16: IP and TCP

Wednesday, August 11

Ben Eater has an excellent video series overviewing how networking works from the ground up (all the way down to hardware sending waves to communicate 1s and 0s) if you are curious about this material.

#15: Threading and protocols

Monday, August 9

Roz’s slides from spring 2021 may be helpful supplemental material.

#14: Intro to Networking

Friday, August 6

Relevant reading: Bryant & O’Hallaron, Sections 11.1-11.4. Roz’s slides and Jerry’s slides from spring 2021 may be helpful.

#13: Condition variables, recap

Monday, August 2

#12: Semaphores

Wednesday, July 28

#11: Mutexes

Monday, July 26

Reading: We’re beginning material from Bryant & O’Hallaron, Chapter 4 of the Stanford version (Chapter 12 of the full text). Skip section 2. Also, Jerry’s slides from last quarter may be helpful (decks 1 and 2).

#10: Browser Design

Wednesday, July 21

#09: Signals

Monday, July 19

#08: Execvp and Pipes

Wednesday, July 14

Roz’s lecture slides from last quarter may be a helpful resource.

#07: Synchronization, job control

Friday, June 12

The textbook should continue to be a good resource; in addition, you might find Roz Cyrus’s slides from Spring 2021 to be a great resource.

#06: Intro to Multiprocessing

Wednesday, July 7

Reading: We are beginning material that is covered in Bryant & O’Hallaron, Chapter 1 of the Stanford version (Chapter 8 of the full text).

#05: Processes

Wednesday, June 30

#04: System calls

Monday, June 28

Reading: Bryant & O’Hallaron, Chapter 2 of the Stanford version (Chapter 10 of the full text)

#03: Directories and links

Friday, June 25

#02: Persistence and large files

Wednesday, June 23

#01: Introduction to Filesystems

Monday, June 21

Reading: S & K Chapter 2 (section 2.5 is particularly relevant to these first few lectures, as well as your second assignment)

Handouts and Resources

Assignments

Labs

Assessments

Surveys