Learn

Linux System Calls

Watch real programs talk to the kernel. Learn syscalls by tracing, not by guessing.

Every program on Linux, from ls to a database, gets everything it cannot do itself by asking the kernel, and every ask is a system call. This track teaches you to see those asks. Using strace on a real virtual machine you trace programs you already use, read the exact calls they make, watch a process spawn and a pipeline get wired together, and diagnose a program that will not start. No C required to begin. By the end you can open a trace of anything on a Linux box and read what it is really doing, which is the substrate under every hard troubleshooting problem.

8 hands-on labs across 3 modules, about 4 hours of work. Every lab runs on a real virtual machine in your browser, and checks your work on the machine itself.

Modules and labs

The Boundary

What a system call is, and how to watch one happen. Trace real programs you already use and see the exact requests they make to the kernel, before you write a line of code.

Processes and Plumbing

Watch a program become another program, and watch a shell wire two programs together. fork and exec and wait, then pipes and dup2, all seen in a live trace.

Diagnosis and the Modern Kernel

Use tracing to answer real questions: what is this process stuck on, why will this program not start, and why do some calls never show up. Ends with a forensics capstone on a mystery binary.

Frequently asked questions

How many labs are in Linux System Calls?

Linux System Calls has 8 hands-on labs, roughly 4 hours of guided work, spread across 3 modules.

Do I need my own server or hardware to do the Linux System Calls labs?

No. Every lab boots a real virtual machine in your browser, with a real Linux shell. There is nothing to install, and nothing on your own machine to break.

What level is Linux System Calls?

Labs in this track are rated beginner, intermediate. The track starts from the beginning, so no prior experience is assumed.