Operating Systems Fundamentals
Concurrency primitives, synchronisation patterns, virtual memory, and the boot path — the building blocks every Linux engineer needs in working memory.
Concurrency & synchronisation
Memory, interrupts & boot
My kernel diagrams
CLI & Shell
Cheat sheets and environment setup for Windows / WSL — the everyday tools that bring a fresh box up to a working dev machine.
Cheat sheets
- bashLinux command-line reference (ss64)
- jobsJob control · bg, fg, Ctrl-Z
- gitGitHub git cheat sheet (PDF)
- vimVim cheat sheet (rtorr)
Install on Windows / WSL
- GitGit for Windows
- mobaXtermmobaXterm
- OpenCVInstall OpenCV on Ubuntu
- WSL2Ubuntu on WSL2 (Windows 10)
- WSL2Ubuntu on WSL2 (Windows 11, GUI)
- VS CodeVS Code remote WSL
- TerminalWindows Terminal
- DockerDocker Engine on Ubuntu
- DockerDocker in VS Code
- DevContainerRemote Containers in VS Code
- PuTTYPuTTY (SSH / serial terminal)
- git-credGit password automation for push / pull
- TeraTermTera Term
- SVNTortoiseSVN
- SambaSamba
Linux System Programming
The user-space side of the kernel ABI — processes, files, signals, IPC, threads, and sockets.
The Linux Programming Interface
Michael Kerrisk · the canonical reference for Linux system calls.
What it covers
Process creation and termination, file I/O and the VFS, signals, pipes and FIFOs, POSIX message queues, semaphores and shared memory, POSIX threads, and the socket API. If a Linux syscall has a man page, this book has a chapter on it.
Companion projects in the Resources section: thread pool, producer–consumer queue, and publisher–subscriber.
Linux Kernel Development
Subsystems, schedulers, drivers, and how to read — and contribute to — the kernel tree.
Books
How Linux Works, 3rd Edition
Brian Ward
Linux Kernel Development
Robert Love
Embedded Linux
Toolchain & install links
Linux guide & ecosystem
Resources
Reference guides, external lectures, and every GitHub project that backs the topics on this page — each link listed once.
Reference guides
External lectures
GitHub projects
- AlgorithmsAlgorithms with C and C++
- CompilerCompiler · lexer / parser / codegen
- ConcurrencyConcurrency · thread pool, pub/sub, producer–consumer
- Data StructuresData Structures
- Computer VisionComputer Vision
- Linux DriverRaspberry Pi Linux device driver & userspace
- ROSROS
- ROS SLAMROS SLAM projects (C++)