Processes & Scheduling
Category
11 articles
- 01Context Switching
Saving and restoring CPU state so execution can move between tasks.
- 02ELF Loading
Turning an ELF binary on disk into a running process by mapping the segments its program headers describe.
- 03fork and exec
Why Unix creates a process in two separate steps, and how copy-on-write makes the first one cheap despite appearing to duplicate everything.
- 04FXSAVE/XSAVE and FPU/SIMD State
The instructions that save and restore floating-point and vector register state, and how XSAVE generalizes the older fixed-size format to cover AVX and beyond.
- 05IPC (Pipes, Shared Memory, Signals)
How two already-created processes exchange data or events: pipes as a kernel buffer, shared memory as two mappings of the same frames, signals as asynchronous delivery.
- 06Multitasking
The building blocks of running more than one task on a single CPU.
- 07Priority Inversion and Priority Inheritance
How a low-priority task holding a lock can stall a high-priority one indefinitely, and the technique that bounds how long that stall lasts.
- 08Process Termination, Zombies, and wait()
Where an exit status goes until a parent collects it, why a terminated process can keep existing as a zombie, and what happens to a child whose parent already exited.
- 09Schedulers
Deciding which task runs next, from simple round-robin to priority-based schemes.
- 10Synchronization
Why a scheduler running on more than one CPU can corrupt its own run queue, and the locks, atomics, and interrupt-disabling a kernel uses to stop that from happening.
- 11Threads and Thread-Local Storage
What a thread actually shares with its siblings versus what stays private, and how TLS gives each one its own copy of a global variable.