The Runtime Theory
hard · 12h · 15 steps

Operating Systems Advanced

CPU scheduling algorithms, deadlock prevention and detection, and the advanced concurrency patterns that keep systems reliable.

Curriculum (15 steps)

1

How threads share memory safely using mutexes, semaphores, condition variables, and the race conditions they prevent.

Start→
2

How deadlocks form under four necessary conditions, and the strategies (prevention, avoidance, detection) to manage them.

Start→
3

CPU scheduling algorithms from first-come-first-served to modern multi-level feedback queues and the Completely Fair Scheduler.

Start→
4

A process is a protected resource container with an address space and operating-system-managed resources.

Start→
5

Follow the key state changes and boundary checks involved in processes, threads, and the cost of sharing.

Start→
6

Virtual memory lets each process use an address space that is translated through page tables and hardware translation caches.

Start→
7

Follow the key state changes and boundary checks involved in virtual memory and the page-fault path.

Start→
8

An interactive concept flow for virtual memory and the page-fault path, from its assumptions through the main operation and boundary checks.

Start→
9

Concurrency means operations overlap in time; it does not require multiple CPU cores.

Start→
10

Follow the key state changes and boundary checks involved in synchronization makes shared state predictable.

Start→
11

An interactive concept flow for synchronization makes shared state predictable, from its assumptions through the main operation and boundary checks.

Start→
12

Explain the model, execution steps, complexity, and limits of synchronization makes shared state predictable.

Start→
13

Explain the model, execution steps, complexity, and limits of why memory locality matters.

Start→
14

Use an arrival-time queue and a shortest-processing-time priority queue to schedule ready tasks without preemption.

Start→
15

Compare row-wise and column-wise matrix traversal and connect address order to cache-line reuse and measured misses.

Start→