Skip to content

Real-time systems

When a late answer is a wrong answer: deadlines, worst-case timing, and the scheduling policies that can prove every deadline is met.

All categories · How they connect

  • Real-time system — A system whose correctness depends on when results arrive as well as on what they are: a hard real-time system must never miss a deadline, a soft one should rarely.
  • Worst-case execution time — The longest a piece of code can take on given hardware; real-time schedules are built from this bound, never from typical timings.
  • Rate-monotonic scheduling — Fixed priorities by period: the task that runs most often gets the highest priority, which is optimal among fixed-priority policies for periodic tasks.
  • Earliest deadline first — Dynamic priorities: whichever ready task has the nearest deadline runs next.

Inside this category

flowchart LR
  n_earliest_deadline_first["Earliest deadline first"]
  n_rate_monotonic_scheduling["Rate-monotonic scheduling"]
  n_wcet["Worst-case execution time"]
  n_earliest_deadline_first ---|vs| n_rate_monotonic_scheduling
  n_earliest_deadline_first -->|uses| n_wcet
  n_rate_monotonic_scheduling -->|uses| n_wcet