Hardware Reference
In-Depth Information
Robustness . Real-time systems must not collapse when they are subject to peak-
load conditions, so they must be designed to manage all anticipated load sce-
narios. Overload management and adaptation behavior are essential features to
handle systems with variable resource needs and high load variations.
Fault tolerance . Single hardware and software failures should not cause the
system to crash. Therefore, critical components of the real-time system have to
be designed to be fault tolerant.
Maintainability . The architecture of a real-time system should be designed ac-
cording to a modular structure to ensure that possible system modifications are
easy to perform.
1.3
ACHIEVING PREDICTABILITY
One of the most important properties that a hard real-time system should have is pre-
dictability [SR90]. That is, based on the kernel features and on the information associ-
ated with each task, the system should be able to predict the evolution of the tasks and
guarantee in advance that all critical timing constraints will be met. The reliability of
the guarantee, however, depends on a range of factors, which involve the architectural
features of the hardware and the mechanisms and policies adopted in the kernel, up to
the programming language used to implement the application.
The first component that affects the predictability of the scheduling is the processor it-
self. The internal characteristics of the processor, such as instruction prefetch, pipelin-
ing, cache memory, and direct memory access (DMA) mechanisms, are the first cause
of nondeterminism. In fact, although these features improve the average performance
of the processor, they introduce non-deterministic factors that prevent a precise esti-
mation of the worst-case execution times (WCETs). Other important components that
influence the execution of the task set are the internal characteristics of the real-time
kernel, such as the scheduling algorithm, the synchronization mechanism, the types of
semaphores, the memory management policy, the communication semantics, and the
interrupt handling mechanism.
In the rest of this chapter, the main sources of nondeterminism are considered in more
detail, from the physical level up to the programming level.
Search WWH ::




Custom Search