flowchart TB
DEV["System Programmer"]
DEV --> LANG["C, C++, Rust and Assembly"]
DEV --> BUILD["GCC, Clang, Make and CMake"]
DEV --> DEBUG["GDB, strace, perf and bpftrace"]
LANG --> APP["System Programs"]
BUILD --> APP
APP --> LIB["glibc, musl, pthread and libbpf"]
LIB --> SYSCALL["Linux System-Call Interface"]
SYSCALL --> PROC["Process Management"]
SYSCALL --> MEM["Memory Management"]
SYSCALL --> FS["Virtual File System"]
SYSCALL --> NET["Networking Stack"]
SYSCALL --> IPC["IPC and Event Handling"]
SYSCALL --> SEC["Security Subsystem"]
PROC --> KERNEL["Linux Kernel"]
MEM --> KERNEL
FS --> KERNEL
NET --> KERNEL
IPC --> KERNEL
SEC --> KERNEL
KERNEL --> DRIVER["Device Drivers"]
DRIVER --> HW["CPU, Memory, Storage, Network and Devices"]
DEBUG -. observes applications .-> APP
DEBUG -. traces system calls .-> SYSCALL
DEBUG -. instruments kernel .-> KERNEL
classDef person fill:#172554,color:#ffffff,stroke:#0f172a,stroke-width:3px;
classDef user fill:#dbeafe,color:#172554,stroke:#2563eb;
classDef boundary fill:#fef3c7,color:#78350f,stroke:#f59e0b,stroke-width:2px;
classDef kernel fill:#dcfce7,color:#14532d,stroke:#16a34a;
classDef hardware fill:#fee2e2,color:#7f1d1d,stroke:#dc2626;
class DEV person;
class LANG,BUILD,DEBUG,APP,LIB user;
class SYSCALL boundary;
class PROC,MEM,FS,NET,IPC,SEC,KERNEL,DRIVER kernel;
class HW hardware;
LSPT | Linux System Programming Toolkit
mindmap
root((Linux System Programming Toolkit))
Development
C and C++
Rust
GCC
Clang and LLVM
GDB
System interfaces
System calls
glibc and musl
POSIX
procfs and sysfs
Process management
fork and execve
POSIX threads
Signals
Scheduling
Memory
Virtual memory
mmap
Shared memory
Memory allocators
IPC
Pipes
Unix sockets
Message queues
epoll and eventfd
File and device I/O
File descriptors
inotify
io_uring
udev
Networking
BSD sockets
TCP and UDP
Netlink
libevent and libuv
Tracing and debugging
strace and ltrace
ptrace
perf and ftrace
eBPF
BCC and bpftrace
Security
Capabilities
seccomp-bpf
Namespaces and cgroups
SELinux and AppArmor
Build and deployment
Make and CMake
Meson and Ninja
Git
DEB and RPM
Docker and Podman
You can access the my other awesome lists here
Contributions of any kind welcome, just follow the guidelines!
