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.