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