Operating Systems
Core operating system concepts for interviews and backend engineering.
- What is an Operating System? — What an OS is, why it exists, how it stays in control, and what happens without it.
- Process vs Thread — Core difference, context switching cost, when to prefer one over the other.
- Process States & Lifecycle — New, Ready, Running, Waiting, Terminated, the transitions between them, the PCB, and zombie processes.
- CPU Scheduling Algorithms — FCFS, SJF, Round Robin, Priority Scheduling, Multilevel Queue.
- Multithreading vs Multiprocessing vs Multitasking — Clear distinction with real-world examples, and when to use threads or processes.
- Concurrency — Race Conditions, Critical Section, Mutex vs Semaphore.
- Deadlock — 4 Conditions, Prevention, Avoidance, Detection.
- Memory Management — Paging, Segmentation, Virtual Memory, Page Faults.
- Cache Memory & Locality of Reference — Temporal vs spatial locality and why caching improves performance.
- System Calls — fork, exec, and how user mode transitions to kernel mode.