| Real-
Time Systems and Real- Time Operating Systems |
Definition
Real-time systems play a considerable role in
our society, and they cover a spectrum from the very simple to the very complex.
Examples of current real-time systems include the control of domestic appliances
like washing machines and televisions, the control of automobile engines, telecommunication
switching systems, military command and control systems, industrial process control,
flight control systems, and space shuttle and aircraft avionics. All
of these involve gathering data from the environment, processing of gathered data,
and providing timely response. A concept of time is the distinguishing issue between
real-time and non-real-time systems. When a usual design goal for non-real-time
systems is to maximize system's throughput, the goal for real-time system design
is to guarantee, that all tasks are processed within a given time. The taxonomy
of time introduces special aspects for real-time system research. Real-time
operating systems are an integral part of real-time systems. Future systems will
be much larger, more widely distributed, and will be expected to perform a constantly
changing set of duties in dynamic environments. This also sets more requirements
for future real-time operating systems Timeliness is the single most important
aspect of a real -time system. These systems respond to a series of external inputs,
which arrive in an unpredictable fashion. The real-time systems process these
inputs, take appropriate decis ions and also generate output necessary to control
the peripherals connected to them. As defined by Donald Gillies "A real-time
system is one in which the correctness of the computations not only depends upon
the logical correctness of the computation but also upon the time in which the
result is produced. If the timing constraints are not met, system failure is said
to have occurred." It is essential that
the timing constraints of the system are guaranteed to be met. Guaranteeing timing
behaviour requires that the system be predictable. Most
real -time systems interface with and control hardware directly. The software
for such systems is mostly custom -developed. Real -time Applications can be either
embedded applications or non -embedded (desktop) applications. Real -time systems
often do not have standard peripherals associated with a desktop computer, namely
the keyboard, mouse or conventional display monitors. In most instances, real-time
systems have a customized version of these devices. Real-time
Programs: The Computational Model A simple
real -time program can be defined as a program P that receives an event from a
sensor every T units of time and in the worst case, an event requires C units
of computation time. Assume that the processing
of each event must always be completed before the arrival of the next event (i.e.,
when there is no buffering). Let the deadline for completin g the computation
be D. If D < C, the deadline cannot be met. If T < D, the program must still
process each event in a time O/ T, if no events are to be lost. Thus the deadline
is effectively bounded by T and we need to handle those cases where C O/ D O/
T.
<<back |