Hardware Reference
In-Depth Information
Time-bounded loops . In order to estimate the duration of the cycles at compile
time, Real-Time Euclid forces the programmer to specify for each loop construct
the maximum number of iterations.
Real-Time Euclid also allows the classification of processes as periodic or aperiodic
and provides statements for specifying task timing constraints, such as activation time
and period, as well as system timing parameters, such as the time resolution.
Another high-level language for programming hard real-time applications is Real-
Time Concurrent C [GR91]. It extends Concurrent C by providing facilities to specify
periodicity and deadline constraints, to seek guarantees that timing constraints will
be met, and to perform alternative actions when either the timing constraints cannot
be met or guarantees are not available. With respect to Real-Time Euclid, which has
been designed to support static real-time systems, where guarantees are made at com-
pile time, Real-Time Concurrent C is oriented to dynamic systems, where tasks can
be activated at run time. Another important feature of Real-Time Concurrent C is
that it permits the association of a deadline with any statement, using the following
construct:
within deadline (d) statement-1
[ else statement-2 ]
If the execution of statement-1 starts at time t and is not completed at time ( t + d ),
then its execution is terminated and statement-2 , if specified, is executed.
Clearly, any real-time construct introduced in a language must be supported by the
operating system through dedicated kernel services, which must be designed to be
efficient and analyzable. Among all kernel mechanisms that influence predictability,
the scheduling algorithm is certainly the most important factor, since it is responsible
for satisfying timing and resource contention requirements.
In the rest of this topic, several scheduling algorithms are illustrated and analyzed
under different constraints and assumptions. Each algorithm is characterized in terms
of performance and complexity to assist a designer in the development of reliable
real-time applications.
Search WWH ::




Custom Search