Rate monotonic (RM) scheduling algorithm is a uniprocessor static-priority preemptive scheme. The algorithm is static-priority in the sense that all priorities are determined for all instances of tasks before runtime.

What determines the priority of a task is the length of the period of the respective tasks. Tasks with short period times are assigned higher priority. RM is used to schedule periodic tasks.

The following are preconditions for the rate monotonic algorithm Periodic tasks have constant known execution times and are ready for execution at the beginning of each period(T).

  1. Deadlines(D) for tasks are at the end of each period:
  2.  (D = T)
  3. The tasks are independent, that is, there is no precedence between tasks and they do not block each other.
  4. Scheduling overhead due to context switches and swapping etc. are assumed to be zero.