ISSN 0361-7688, Programming and Computer Software, 2018, Vol. 44, No. 3, pp. 159–169. © Pleiades Publishing, Ltd., 2018.
Original Russian Text © S.A. Zelenova, S.V. Zelenov, 2018, published in Programmirovanie, 2018, Vol. 44, No. 3.
for Strictly Periodic Tasks in RTOS
S. A. Zelenova
* and S. V. Zelenov
Ivannikov Institute for System Programming, Russian Academy of Sciences,
Moscow, 109004 Russia
National Research University Higher School of Economics,
Moscow, 101000 Russia
Received November 28, 2017
Abstract—A new look at the problem of constructing a scheduler in the case of a group of strictly periodic
tasks is proposed. The structure of the system of periods is represented in terms of graph theory. A criterion
for the existence of a conflict-free schedule based on this representation is obtained, and generic schemes of
algorithms for constructing such a schedule are described. The proposed approach is illustrated by building
schedules for a number of strictly periodic tasks.
We consider hard real-time systems in which strict
requirements for the validity of data
and reactivity of
are imposed, and the failure to satisfy
these requirements has catastrophic consequences.
Examples of such systems are automotive electronics,
avionics, mobile robotics, telecommunication, etc.
In such systems, the tasks of processing constantly
changing information about the environment are
strictly periodic, i.e., each task must be started in equal
intervals of time. Typical examples of strictly periodic
tasks is processing of sensor readings, control of actu-
ators, and execution of feedback control functions
Strictly periodic tasks are specified by two parame-
• period, which is the time between two adjacent
task start times;
• task execution time is the time needed to com-
plete the task within one period.
The performance of modern processors allows for
the simultaneous execution of several tasks on the
same computer unit. Hence, a problem in designing
real-time operating systems (RTOS) is the develop-
ment of schedulers that can efficiently distribute pro-
cessor time between tasks.
From the viewpoint of the strategy of distributing
execution within a period, strictly periodic tasks can
be divided into two types:
• non-preemptive tasks, in which case a task is
assigned a single window within each period in the
schedule equal to its execution time;
• preemptive tasks, in which case a task may be
interrupted if another task must be started.
Scheduling in RTOSs can be static
In this paper, we discuss static scheduling of strictly
periodic preemptive tasks. Probably, the proposed
methods can also be of interest for dynamic schedul-
We now give a more detailed description of the
problem solved in this paper.
In contrast to the classical case (in which periodic-
ity is not strict [1, 2]), scheduling of a set of strictly
periodic tasks is divided into two phases:
• selection of initial starting points for all tasks;
• distribution of the remaining free time between
tasks in such a way that each task gets a sufficient num-
ber of time intervals (summing up to its execution
time) in each its period.
That is, the data taken at the input must be periodically updated
(typically, at a high rate).
Reactivity of a system is its ability to response to input data in
prescribed (often very short) intervals of time.
That is, data processing and control functions.
Static scheduling is to build a task execution schedule before
running the system.
Dynamic scheduling assumes that decisions are made in real
time in the course of the system operation.