1. 1.1 Operating Systemshistorical

    What an operating system manages: processes, memory, devices, files, protection, and the boundary between applications and hardware.

  2. Linux Overviewhistorical

    Linux kernel responsibilities, processes, memory, filesystems, networking, devices, and user space.

  3. Linux Threadshistorical

    Thread execution, shared process resources, scheduling, stacks, TLS, and synchronization.

  4. Linux Processeshistorical

    Process address spaces, credentials, file descriptors, parent/child lifecycle, signals, and scheduling.

  5. Process Managementhistorical

    Process/thread lifecycle, scheduling, context switching, states, resources, synchronization, and IPC.

  6. 2.4 Inter-Process Communication (IPC)historical

    Core IPC mechanisms: shared memory, pipes, FIFOs, message queues, signals, semaphores, and sockets, with their trade-offs.

  7. 2.5 Synchronization and Mutual Exclusionhistorical

    Critical sections, mutual exclusion, ordering, semaphores, mutexes, condition variables, and classic synchronization problems.

  8. 2.6 Deadlockhistorical

    Deadlock conditions, prevention, avoidance, detection, recovery, and practical lock-ordering strategies.

  9. 2.7 Programs, Processes, and Threadshistorical

    The relationship between programs, processes, threads, and user-space tasks, including address spaces, scheduling, isolation, and context-switch costs.

  10. Linux Memory Managementhistorical

    Virtual address spaces, page tables, anonymous/file-backed memory, page cache, reclaim, swap, and OOM.

  11. Operating-System Storage Managementhistorical

    Virtual memory, paging, address translation, allocation, caching, reclaim, and persistent storage boundaries.

  12. 3.3 Virtual Memoryhistorical

    Virtual address spaces, page tables, demand paging, page faults, locality, swap, and why virtual memory is more than 'RAM plus disk'.

  13. Memory Allocation and Reclamationhistorical

    Virtual mappings, physical-page allocation, user-space allocators, reclaim, swap, and OOM.

  14. 3.5 Segmentation and Paginghistorical

    Physical and virtual addresses, paging, segmentation, page tables, and why modern systems primarily rely on paging rather than universal segmentation-plus-paging.

  15. 3.6 Linux Memory and Swaphistorical

    Linux virtual memory, resident pages, page cache, anonymous memory, reclaim, and the role of swap as backing storage rather than virtual memory itself.

  16. 3.7 Page Replacementhistorical

    Page-replacement goals and classic OPT, FIFO, LRU, LFU, Clock, and working-set ideas, with the distinction between textbook algorithms and real kernels.

  17. 4.1 System Callshistorical

    How user-space programs enter the kernel to request privileged services, how this differs from an ordinary function call, and why libc wrappers matter.

  18. 4.2 I/O Modelshistorical

    Blocking, non-blocking, readiness-based multiplexing, signal-driven I/O, asynchronous completion, and Reactor-style server architectures.

  19. 4.3 select, poll, and epollhistorical

    How Linux readiness APIs differ in descriptor representation, scanning cost, registration model, and level- vs. edge-triggered behavior.

  20. Linux I/Ohistorical

    File descriptors, page cache, buffered and direct I/O, blocking, readiness, and durable writes.

  21. 4.5 Zero-Copy I/Ohistorical

    Why zero-copy techniques reduce CPU-mediated data movement, with mmap, sendfile, page cache, DMA, and the limits of the term 'zero copy'.

  22. Linux CPU Performance Tuninghistorical

    Diagnosing CPU saturation, run queues, context switching, hot code, affinity, and scheduler effects.

  23. tophistorical

    Interactive Linux process and host metrics for CPU, memory, load, task state, and quick triage.

  24. Linux Memory Performance Tuninghistorical

    Diagnosing resident memory, reclaim, page cache, swap, faults, NUMA, and application allocation behavior.

  25. vmstathistorical

    Sampling runnable/blocked tasks, memory, paging, block I/O, interrupts, context switches, and CPU states.

  26. Linux Disk I/O Tuninghistorical

    Diagnosing storage latency, throughput, queueing, cache behavior, filesystem, and application I/O patterns.

  27. Linux Network Tuninghistorical

    Diagnosing latency, throughput, packet loss, retransmission, queues, sockets, connection limits, and kernel networking.

  28. iostathistorical

    Interpreting CPU and block-device throughput, latency, queueing, and utilization metrics.

  29. Linux Performance Tuninghistorical

    An evidence-driven workflow across CPU, memory, disk, network, kernel, and application layers.

  30. Flame Graphshistorical

    Visualizing aggregated stack samples to locate CPU or off-CPU hotspots.

  31. ulimit and Resource Limitshistorical

    Soft and hard per-process resource limits, inheritance, file descriptors, processes, and memory-related constraints.

  32. tcpdumphistorical

    Packet capture with BPF filters for debugging TCP, DNS, routing, retransmissions, and network failures.

  33. Common Linux Commandshistorical

    A practical map of Linux commands for files, processes, networking, resources, and diagnostics.

  34. sarhistorical

    Historical and sampled system activity for CPU, memory, I/O, network, and other kernel counters.

  35. pidstathistorical

    Per-process and per-task CPU, memory, I/O, fault, and context-switch statistics.

  36. stracehistorical

    Tracing Linux system calls and signals to diagnose blocking, failures, and unexpected kernel interactions.

  37. 6.1 Linux Namespaceshistorical

    Linux namespaces as process-visible resource isolation for mount, PID, network, IPC, UTS, user, cgroup, and time domains.

  38. 6.2 Linux Control Groups (cgroups)historical

    cgroup v2 resource accounting and control for CPU, memory, I/O, process counts, pressure, and container workloads.

  39. chroothistorical

    Changing a process's filesystem root and understanding why chroot alone is not a security container.