Introduction
How Linux Works Under the Hood
You have used Linux commands. You have written C programs. Now go one level deeper: how does the Linux kernel itself work?
This course teaches Linux internals through C simulations. Every lesson implements a real kernel data structure or algorithm — not toy code, but the actual patterns from kernel/sched.c, mm/slab.c, fs/inode.c, and kernel/signal.c.
Since we run in the browser, we simulate rather than invoke real syscalls. But the data structures, algorithms, and logic are faithful to the real kernel.
What the Kernel Does
The Linux kernel is the software layer between your programs and the hardware. Its four main jobs:
- Process management — create, schedule, and terminate processes
- Memory management — map virtual addresses to physical RAM, handle page faults
- File system — abstract disks into files and directories
- IPC and signals — let processes communicate and coordinate
Each chapter of this course covers one of these subsystems.
What You Will Learn
This course contains 15 lessons organized into 5 chapters:
- Processes — The Process Control Block (
task_struct), state transitions,fork(), and round-robin scheduling. - Memory — Virtual address layout, page table walks, and the slab allocator.
- File System — Inodes, file descriptor tables, and the File Allocation Table (FAT).
- IPC — Ring buffers (the kernel pipe implementation), semaphores, and signal dispatch.
- System Calls — The syscall dispatch table and
sys_write.
Each lesson explains the concept, shows where it lives in the real kernel source, and gives you a C function to implement and test.
Let's read the kernel.