Dive deeper with C is a long-term project to understand the Linux kernel by following real-world C code—line by line, function by function.
It begins with something familiar: a simple C function like open()
. From there, it traces the actual execution path: into libc
, through the syscall interface, and deep into the Linux kernel.
But this is only the beginning.
This guide gradually expands to cover critical subsystems of the kernel: the VFS, file descriptors, process scheduling, and eventually, the boot process itself.
Rather than stopping at abstraction layers, we follow the actual implementation in source code. Each chapter is designed to serve as a waypoint in a journey through the kernel.
A readable roadmap through the structure of kernel internals.
Created by @Kei Sawamura, a systems programmer who enjoys reading source code and writing it—especially with Zig, C, and GNU/Linux.
libc
translates function calls into system callsopen()
/dev
map to real device driversThis is not about writing C applications—it's about understanding what your computer really does when you call a function as simple as open()
.