Systems Programming Roadmap

Programming at the hardware boundary. Understanding what happens between your code and the CPU.

Topics

  1. C Language Essentials — pointers, manual memory, structs, compilation
  2. Pointers and Memory — pointer arithmetic, dangling pointers, double free
  3. Memory Allocation — malloc/free internals, sbrk, mmap, fragmentation
  4. File IO in C — open/read/write/close, file descriptors
  5. System Calls — user space vs kernel space, syscall table
  6. Makefiles and Build Systems — make, gcc flags, linking
  7. Debugging with GDB — breakpoints, backtrace, memory examination