Engineering / core
How an operating system executes work
Follow execution across system calls, scheduling, interruption, synchronization, and process boundaries without assuming a particular kernel version.
Your route through engineering
Follow the path or begin with a question. Every lesson is open.
Your place, at your pace. Progress is optional and saved only in this browser when available.
Read / explore / reason
Inside this module
Module 01 core
How an operating system executes work
Follow execution across system calls, scheduling, interruption, synchronization, and process boundaries without assuming a particular kernel version.
- 01
Cross a privilege boundary without changing tasks
Separate processor privilege, process identity, and scheduling while following a request into and out of the kernel.
21 min - 02
From a library request to a system-call result
Follow ABI dispatch, argument validation, partial results, and measured batching costs without assuming every call blocks.
22 min - 03
Separate urgent interrupt work from deferred execution
Reason about interrupt context, threaded and bottom-half work, and service pressure without assuming every deferred callback may sleep.
22 min - 04
What must survive a task switch
Follow a thread across descheduling and resumption, separating architectural state, address spaces, and cache effects.
24 min - 05
Separate CPU fairness from response-time promises
Compare proportional CPU sharing, runnable latency, and real-time policy without assuming one universal scheduling quantum.
26 min - 06
Trace priority through a lock dependency
Trace a high-priority task through a lock dependency, then understand both the power and limits of priority inheritance.
27 min - 07
Manage signals and collect process state
Separate notification from accounting, manage thread masks, and reason through fork, exec, exit, and wait.
24 min - 08
Distinguish descriptors from shared open-file state
Track descriptor entries, shared offsets, status flags, and inheritance without confusing a pathname with a live open file.
25 min - 09
Choose locks from execution context and invariants
Choose protection from execution context, distinguish local exclusion from cross-CPU exclusion, and account for PREEMPT_RT semantics.
27 min - 10
Measure the system and the cost of observing it
Build bounded tracing experiments, align measurement windows, account for missing events, and quantify instrumentation cost.
26 min