RTES
RTES
RTES
It means that, with the help of a microprocessor, one can build a simple system or a large and
complex machine around it with a few extra components as per the application. The main task
of a microprocessor is to accept data as input from input devices then process this data
according to the instructions and provide the result of these instructions as output through
output devices. Microprocessor is an example of sequential logic device as it has memory
internally and uses it to store instructions.
Cooperative Multitasking:
● Lack of fairness: If a task does not yield appropriately, it can monopolize the CPU and
starve other tasks, causing the system to become unresponsive.
● Responsiveness: If a task fails to yield promptly, the system may experience delays and
reduced responsiveness.
● Error-prone: Cooperative multitasking relies on the cooperation of tasks, making it
susceptible to bugs and programming errors that can affect the entire system.
Cooperative multitasking is commonly used in small-scale embedded systems with simple
requirements, where task cooperation can be ensured and strict timing guarantees are not
necessary.
Pg - 59,60
RTC - Fault tolerance tech.. And full syllabus line
Real-time systems can be classified as hard real time systems in which the consequences of
missing a deadline can be catastrophic and soft real time systems in which the consequences
are relatively tolerable. In hard real time systems it is important that tasks complete within their
deadline even in the presence of a failure. Examples of hard real-time systems are control
systems in space stations, auto pilot systems and monitoring systems for patients with critical
conditions. In soft real-time systems it is more important to economically detect a fault as soon
as possible rather than to mask a fault. Examples of soft real-time systems are all kind of airline
reservation, banking, and E-commerce applications.
2.2.2 Redundancy
A typical example of where the above techniques are applied would be the autopilot system
on-board a large-sized passenger aircraft[4].
A passenger aircraft typically consists of a central autopilot system with two other backups. This
is an example of making a system with two other backups. This is an example of making a
system fault tolerant by adding redundant hardware. The two extra systems will not be used
unless the main system is completely broken.
However, this is not sufficient, since in the event that the main system starts behaving
erratically the lives of many people is in danger. The system is therefore also made resistant to
faults using software.
Generally, every process of the autopilot runs more than two copies, distributed across different
computers. The system then votes on the results of these process. To make the system even
more secure, some autopilots also employ the principle of design diversity. In this feature, not
only a software is run multiple times, but also each copy is written by a different engineering
team. The likelihood of same mistake being made by different engineering teams is very low.
However, such measures are only applied for highly critical systems. In general, hardware
redundancy is avoided as far as possible, due to limited resources that are available. Weight of
the system, power consumption, and price constraints make it difficult to employ high hardware
redundancy to make the system fault tolerant. Software redundancy is therefore, more
commonly used to increase fault tolerance of systems.
There are few factors that affect the diversity of the multiple versions.
The first factor is the requirements specification. A mistake in the specification causes a wrong
output to be delivered.
A second approach is the programming language. The nature of the language affects the
programming style greatly.
A third factor is the numerical algorithms that are used. Algorithms implemented to a finite
precision can behave quite differently for certain sets of inputs than do theoretical algorithms,
which assume infinite precision.
A fourth factor is the nature of the tools that are being used, the probability of common-mode
failure might increase. A fifth factor is the training and quality of the programmers and the
management structure. The major difficulty in software is laborintensive.
It is the same as PB method except that exception handlers are executed instead of backup
programs.
Primary Backup Fault Tolerance
This is the traditional fault-tolerant approach wherein both time as well as space exclusions are
used. The main idea behind this algorithm is that (a) the backup of a task need not execute if its
primary executes successfully, (b) the time exclusion in this algorithm ensures that no resource
conflicts occur between the two versions of any task, which might improve the schedulability.
Disadvantages in this system are that (a) there is no de-allocation of the backup copy, (b) the
algorithm assumes that the tasks are periodic (the times of the tasks are predetermined), (c)
compatible (the period of one process is an integral multiple of the period of the other process)
and execution time of the backup is shorter than that of the primary process.