Setup
Each laboratory begins from a fresh checkout of its Git repository under ~/comp3150/labs/. Do not modify files outside the lab directory. If a lab goes badly, revert to the before-lab-n snapshot.
Course component
Twelve hands-on laboratories, one per major topic area, run entirely in the supplied Linux virtual machine. Each laboratory combines implementation, measurement, and analysis.
Overview
Each laboratory is a self-contained exercise completed in the course VM. You will write code, run measurements, and submit a lab report along with your source. The laboratories build on each other: the toolchain you set up in Lab 1 is used throughout; the process-management skills from Lab 2 appear in every subsequent lab.
Complete Lesson 1.0 — Setting Up Your Course VM and Lesson 2.5 — Development Environment first. The laboratories assume the toolchain is installed and the workspace directory ~/comp3150/ exists. Each lab is performed in its own subdirectory under ~/comp3150/labs/.
Sequence
| Lab | Topic | Related unit | Status |
|---|---|---|---|
| Lab 1 | Linux Fundamentals | Unit 2 | Available |
| Lab 2 | Process Management | Unit 3 | Available |
| Lab 3 | POSIX Threads | Unit 4 | Later in course |
| Lab 4 | Scheduling Simulation | Unit 5 | Later in course |
| Lab 5 | Synchronization | Unit 6 | Later in course |
| Lab 6 | Deadlock Analysis | Unit 7 | Later in course |
| Lab 7 | Memory Management | Unit 8 | Later in course |
| Lab 8 | Virtual Memory | Unit 9 | Later in course |
| Lab 9 | File Systems | Unit 10 | Later in course |
| Lab 10 | Storage Systems | Unit 11 | Later in course |
| Lab 11 | Security | Unit 12 | Later in course |
| Lab 12 | Containers and Virtualization | Unit 13 | Later in course |
Expectations
Each laboratory begins from a fresh checkout of its Git repository under ~/comp3150/labs/. Do not modify files outside the lab directory. If a lab goes badly, revert to the before-lab-n snapshot.
Submit source code, a lab report, and any captured output. Reports follow the structure described in each lab manual. Code must build with the course-standard flags: gcc -Wall -Wextra -g.
Each lab is graded on correctness, analysis, and the quality of the write-up. The total laboratory component is 15% of the final grade, distributed evenly across the twelve laboratories.
Each laboratory is designed for 3–5 hours of work at the recommended pace. Plan to complete it within the week after the related unit's lessons are finished.