Some tasks are useful only if they finish on time. An audio device must supply the next buffer before the current one finishes playing. A motor controller must update its output within a fixed interval. A trading system may need to respond before an opportunity disappears.
For these systems, eventually producing the right result is not enough, the result must also arrive at the right time.
In a real-time system, correctness depends on both the result and when it is produced.
Real-time scheduling is therefore less about maximizing average throughput or simply making programs run faster. Its goal is to determine whether time-sensitive work can meet its deadlines and to schedule that work predictably.
This chapter defines real-time task and deadline models, explains schedulability and admission control, compares Rate Monotonic and Earliest Deadline First scheduling, and examines overload, jitter, and wakeup latency.