Rate Monotonic Scheduling
Rate Monotonic Scheduling
Rate Monotonic Scheduling
INTRODUCTION
Rate monotonic scheduling is a priority algorithm that belongs to the static priority scheduling
category of Real Time Operating Systems.
It is preemptive in nature.
The priority is decided according to the cycle time of the processes that are involved.
If the process has a small job duration, then it has the highest priority. Thus if a process with
highest priority starts execution, it will preempt the other running processes.
The priority of a process is inversely proportional to the period it will run for.
RMS Schedulability Test
A set of processes can be scheduled only if they satisfy the following equation :
Where n is the number of processes in the process set, Ci is the computation time of the
process, Ti is the Time period for the process to run and U is the processor utilization.
CONDITIONS
The analysis of Rate monotonic scheduling assumes few properties that every process should
possess. They are :
Processes involved should not share the resources with other processes.
Deadlines must be similar to the time periods. Deadlines are deterministic.
Process running with highest priority that needs to run, will preempt all the other processes.
Priorities must be assigned to all the processes according to the protocol of Rate monotonic
scheduling.
EXAMPLE
An example to understand the working of Rate monotonic scheduling algorithm.
Process Execution time Period
P1 1 8
P2 2 5
P3 2 10
The utilization will be : 1/8+2/5+2/10=0.725
The sufficient condition for 3 processes, under which we can conclude the system is schedulable is:
U=3(2^(1/3)-1)= 0.77976 > 0.693 (0.693 is utilization bound for RMS for n = infinity)
Since 0.77976 > 0.693 … the system may or may not be schedulable.
ADVANTAGES
It is easy to implement.
If any static priority assignment algorithm can meet the deadlines then rate monotonic
scheduling can also do the same. It is optimal.
It consists of calculated copy of the time periods unlike other time-sharing algorithms as Round
robin which neglects the scheduling needs of the processes.
DISADVANTAGES
It is very difficult to support aperiodic and sporadic tasks under RMA.
RMA is not optimal when tasks period and deadline differ.