Advanced Operating Systems
ACS Advanced Operating Systems teaches OS internals, experimental methodology, and systems-research topics through a hands-on, lab-based course using the FreeBSD operating system, the Raspberry Pi 4 board, and JupyterLab.
Course Slack
If you need to reach the instructors, or to chat with other students in the course, please join the Advanced Operating Systems course Slack:
Course handouts
These course handouts provide more detailed information about the module and laboratory environment.
Lecture slides
Lecture slides will be posted here as the module proceeds.
Lecture 1 - Advanced Operating Systems: Through tracing, analysis, and experimentation (in person)
- Lecture 1, Part 1: What is an Operating System?
- Lecture 1, Part 2: The Course
- Lecture 1, Part 3: Kernel dynamics
Lecture 2 - Kernels and Tracing (in person)
- Lecture 2, Part 1: DTrace
- Lecture 2, Part 2: The probe effect
- Lecture 2, Part 3: Our lab environment
Lecture 3 - The Process Model (1) (in person)
- Lecture 3, Part 1: The Process Model
- Lecture 3, Part 2: Processes in Practice
Lecture 4 - The Process Model (2) (in person)
- Lecture 4, Part 1: Traps and System Calls
- Lecture 4, Part 2: Traps and Syscalls in Practice
- Lecture 4, Part 3: More on VM
Lecture 5 - The Network Stack (1) (in person)
- Lecture 5, Part 1: Network Stacks
- Lecture 5, Part 2: Network Stack Implementation
- Lecture 5, Part 3: Network Stack Research Taster
Lecture 6 - The Network Stack (2) (in person)
- Lecture 6, Part 1: TCP
- Lecture 6, Part 2: TCP Implementation
- Lecture 6, Part 3: Wrapping Up
Lab lecturelet slides (online)
Lab lecturelet slides will be posted here as the module proceeds.
- Lecturelet 1: Lab 1 – Getting started with kernel tracing
- Lecturelet 2: Lab 2 – IPC
- Lecturelet 2: Lab 3 – TCP
Lab handouts
Lab handouts will be posted here as the module proceeds.
Practice Exercise - Kernel Tracing
Lab 2 - IPC
- Advanced Operating Systems: Lab 2 - IPC - General Information
- Advanced Operating Systems: Lab 2 - IPC - Assignment
Lab 3 - TCP
- Advanced Operating Systems: Lab 3 - TCP - General Information
- Advanced Operating Systems: Lab 3 - TCP - Assignment
Useful reference material
Lab 2
- ARM® Cortex®-A72 MPCore Processor - see section 11.8
- Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile - see sections D7.10 and Appendix K3