Dr. Williams's Lecturesยง

L-P1
Course Introduction
L-P2
Processes
L-P3
More Processes and Unicode
L-P4
Process States
L-P6
File Descriptors and Pipes
D-P6
File Descriptors and Pipes (demo files)
L-P7
Signals
L-P8
Job Control
L-L1
Building executables
L-L2
Linking
L-L3
Libraries
L-T1
Multithreading
L-T2
Locking (Dr. Butt's section)
L-T2
Locking
L-T3
Condition Vars (Dr. Butt's section)
L-T3
Condition Vars
L-T3
CV (demo files)
L-T4
Semaphores
L-T5
Lock Performance
L-M1
Malloc (Dr. Butt)
L-M2
Free Lists
L-M3
Automatic memory management
L-M4
Virtual Memory
L-M5
Virtual Memory
L-N2
Network Protocols
L-N3
HTTP
L-N4
Concurrent web servers
L-N5
Cloud computing
D-P2
MiniDemo: Dual-Mode Operation
MP4 (4:25)
D-P12
Demo: Async-signal Safety
MP4 (14:37)
D-P13
MiniDemo: How to catch a segmentation fault
MP4 (3:54)
D-P14
Demo: how to use cush and how the tests work
MP4 (18:51)
D-L3
MiniDemo: static inline vs extern inline
MP4 (7:21)
D-L4
Demo: How to build and use static libraries
MP4 (10:05)
D-L5
Demo: How dynamically linked executables are loaded
MP4 (5:43)
D-L7
Demo: How to use LD_PRELOAD to interpose at runtime
MP4 (8:10)
Ch. 7.13.3
D-MT1
Demo: Debugging Deadlocks with gdb
MP4 (11:44)
D-MT2
Demo: Debugging with watch points
MP4 (13:13)

Lecture slides will be posted after each lecture.