up:: Fundamentals of Operating Systems prev:: Chapter 14 – Context Switching next:: Chapter 16 – Concurrency & Synchronization
Chapter 15 – CPU Scheduling
Core idea
Scheduling decides which process or thread runs next.
Goals
- Fairness
- High throughput
- Low latency
- Predictability
Scheduling types
- Preemptive – OS can interrupt
- Non-preemptive – task yields voluntarily
Common algorithms
- FCFS – First Come, First Served
- SJF – Shortest Job First
- Round Robin – Time slices
- Priority scheduling
Key metric
- Time slice
- Too small → overhead
- Too large → poor responsiveness
Exam traps
- SJF is optimal but impractical
- Preemption improves responsiveness