A periodic task is a task that repeats its execution over and over again. Given a periodic task t
there are two quantities associated to it:
- It's period, denoted
T
- It's deadline, denoted
C
The period T
measures the interval of time on which the task should be executed at least once. For instance, if T
is 100 ms
, the task t
has to be executed at least once every 100 ms
. This means that it has to be executed at least twice every 200 ms
, and so on. In other words, after T
units of time (e.g., ms
) there is a new deadline for t
and the goal is to have the task completing a new execution before that deadline expires.
Quantity C
measures the maximum execution time of the task. This means that at every instance of its execution the task is guaranteed to complete within C
units of time. For the sake of simplicity you can think of C
as the constant execution time; just keep in mind that in some cases the execution might complete sooner.
Note that it wouldn't be possible to honor these constraints if C > T
. That's why it is assumed that C < T
. In the example above, C
should be smaller than 100 ms
, say C = 40 ms
. The case C = T
is not interesting either because you will only be able to re-execute t
as soon as it completes without any time left for sharing the processor (e.g., the CPU) with other tasks.
The integer quotient [T/C]
is the maximum number of times the task can be executed in a period. When this happens, the task will be using the processor a fraction U = C/T
of its total processing time. In the example above, we have [T/C] = [100/40] = 2
and you will be able to repeat t
at most twice every period of length T
, which will allocate U = 40/100 = 0.4
or 40%
of the total processing time. The quantity U
is called utilization.
With these descriptions you should now be able to go to any online introduction to RMS and make sense of it. For example, you might want to take a look at this one.