Skip to main content

Reference and Selective Reading

You do not need to read the source books front-to-back for this module. Use the concept pages and practice pages first. Open these local chunks only when you need alternate exposition, more worked examples, or a deeper exercise lane.

Source Roles

SourceRoleWhy it is here
Operating Systems: Three Easy Pieces (OSTEP)Primary teaching sourceBest operational explanations of processes, scheduling policies, and context-switch mechanics; code-first with xv6 examples
Operating System Concepts (Silberschatz et al.)Formal supportRigorous definitions of scheduling metrics, the canonical RMS/EDF treatment, and case studies of Linux/Windows/Solaris schedulers
Computer Networking (Kurose & Ross)Not applicable this moduleReserved for networking modules
Unix Network Programming (Stevens)Not applicable this moduleReserved for networking modules

Read Only If Stuck

Cluster 1: What a Process Is

Cluster 2: CPU Scheduling Policies

Cluster 3: Scheduler Metrics and Fairness

Cluster 4: Context Switching and Overhead

Cluster 5: Scheduling in Modern Systems

Optional Deep Dive

Concept-to-Source Map

Primary conceptBest source if stuckWhy this source
The process abstractionOSTEP 4.1: The Abstraction: A ProcessCleanest intro-level framing
The PCB and kernel stateOSTEP 4.5: Data StructuresActual code for a PCB, not prose
fork/exec and process treesOSTEP 5.4: Why? Motivating the APIThe argument for the split API
FCFS/SJF/SRTFOSTEP 7.1: Workload AssumptionsDerives the policies, does not just present them
Round-Robin and quantumOSTEP 7.7: Round RobinBest quantum-tradeoff discussion
MLFQOSTEP 8.6: MLFQ SummaryFull algorithm in one place
Scheduler metricsOS Concepts: 5.2 Scheduling CriteriaRigorous, clean metric definitions
Priorities and niceOS Concepts: 5.3.5 Multilevel QueuePriority-class framework
Real-time (RMS/EDF)OS Concepts: 5.6.3 Rate-MonotonicCanonical treatment with utilization bound
Context switch mechanicsOSTEP 6.3: Switching Part 3Shows the actual switch code
Context switch costOSTEP 6.5: Summary (HOWLONGCONTEXTSWITCHESTAKE)Real numbers and methodology
TLB and switch costOSTEP 19.5: TLB - Context SwitchesFocuses precisely on this hidden cost
Threads vs processesOSTEP 26.1: Thread CreationTwo-thread program, one address space -- makes sharing tangible
Multi-core schedulingOSTEP 10.5: Multi-Queue SchedulingPer-CPU queue + balancer tradeoff
Linux CFSOS Concepts: 5.7.1 Linux Scheduling Part 1Only local source with CFS internals
cgroups & containersSee external resources (LWN, Kubernetes docs)Local books predate cgroup v2 details