Labs

Lab sheets from the 2018 offering, in order. Most labs were held on Wednesdays; each sheet is named after the date of its session. Code written for some of the labs is in the labs/ folder on GitHub.

DateLabMaterial
–Lab 1: Unix process commands (ps, watch) and the process API programs from OSTEP chapter 5Sheet (PDF)
12 SepKernel modules and strace, demonstrated by the TAs; OSTEP chapter 21, questions 1–7Sheet
15 SepSame exercises as 12 SepSheet
19 SepThreads and the Chrome process model: ps, top, pstree, /proc and strace; a first threaded programSheet
26 SepThe pthreads API: creating and joining threads, passing arguments, a shared counterSheet, code
17 OctMultithreading in practice, locks from load–store, C11 atomics, pthread mutexes and xchgSheet, code
24 OctLock-based concurrent data structures (OSTEP chapter 29)Sheet, code
7 NovMultithreading and multiprocessing in PythonSheet
14 NovFiles and directories (OSTEP chapter 39)Sheet

Programs used in lectures are in the code folder.