Rate-monotonic scheduling¶
Category: Real-time systems · Status: stub
One line: Fixed priorities by period: the task that runs most often gets the highest priority, which is optimal among fixed-priority policies for periodic tasks.
Also called: RMS.
How it connects¶
flowchart LR
n_earliest_deadline_first["Earliest deadline first"]
n_preemptive_scheduling["Preemptive scheduling"]
n_rate_monotonic_scheduling["Rate-monotonic scheduling"]
n_wcet["Worst-case execution time"]
n_earliest_deadline_first ---|vs| n_rate_monotonic_scheduling
n_rate_monotonic_scheduling -->|is a| n_preemptive_scheduling
n_rate_monotonic_scheduling -->|uses| n_wcet
classDef center stroke-width:3px
class n_rate_monotonic_scheduling center
classDef outside stroke-dasharray: 4 3
class n_earliest_deadline_first,n_preemptive_scheduling,n_wcet outside
- Is a kind of: Preemptive scheduling
- Is built on: Worst-case execution time
- Often confused with: Earliest deadline first
In each language¶
| The operating system | Assign SCHED_FIFO ↗ priorities by period; the kernel then always runs the highest-priority ready thread |
| Elsewhere | Ada's FIFO_Within_Priorities ↗ dispatching policy |
Where to read more¶
- Notes: Rate Monotonic Scheduling (RMS) ↗
- Reference: Wikipedia: Rate-monotonic scheduling ↗