Operating Systems Advanced
CPU scheduling algorithms, deadlock prevention and detection, and the advanced concurrency patterns that keep systems reliable.
Curriculum (15 steps)
How threads share memory safely using mutexes, semaphores, condition variables, and the race conditions they prevent.
How deadlocks form under four necessary conditions, and the strategies (prevention, avoidance, detection) to manage them.
CPU scheduling algorithms from first-come-first-served to modern multi-level feedback queues and the Completely Fair Scheduler.
A process is a protected resource container with an address space and operating-system-managed resources.
Follow the key state changes and boundary checks involved in processes, threads, and the cost of sharing.
Virtual memory lets each process use an address space that is translated through page tables and hardware translation caches.
Follow the key state changes and boundary checks involved in virtual memory and the page-fault path.
An interactive concept flow for virtual memory and the page-fault path, from its assumptions through the main operation and boundary checks.
Follow the key state changes and boundary checks involved in synchronization makes shared state predictable.
An interactive concept flow for synchronization makes shared state predictable, from its assumptions through the main operation and boundary checks.
Explain the model, execution steps, complexity, and limits of synchronization makes shared state predictable.
Explain Why Memory Locality Matters
interviewsExplain the model, execution steps, complexity, and limits of why memory locality matters.
Use an arrival-time queue and a shortest-processing-time priority queue to schedule ready tasks without preemption.
Compare row-wise and column-wise matrix traversal and connect address order to cache-line reuse and measured misses.