Operating Systems & Systems Programming Topics
Covers operating system fundamentals and systems programming topics, including process management, memory management, file system interfaces, inter-process communication, low-level kernel interactions, and system call interfaces (e.g., fork, exec, opendir, stat) across Unix/Linux and other OS environments.
Process & Thread Management
The lifecycle of processes and threads: creation and termination, process states, the process control block, parent/child relationships, zombies and orphans, and the distinction between processes and threads. Covers how the OS tracks and isolates execution contexts and how threads share address space while maintaining separate stacks and registers.
Systems Performance Analysis & Tuning
Finding and fixing performance problems at the OS and low level: profiling CPU, memory, I/O, and lock contention, reading utilization and saturation signals, and using tools like perf, strace, and tracepoints. Covers cache behavior, false sharing, syscall overhead, and the methodology of isolating a bottleneck before optimizing.