Characteristics of
Real-Time Systems
1
10-Aug-19
What is a Real-Time
System?
• A system is called real-time:
Whenever we need to quantitatively
express time to describe its
behaviour.
• Recall how to describe the
behaviour of a system?
List inputs to the system and the
corresponding system response. 2
10-Aug-19
Important Characteristics
• An embedded system responds to events.
External Process External
Input Event New Data Output Event
Example: An Automobile airbag system.
When the airbag’s motion sensors detect a
collision, the system needs to respond by
deploying the airbag within 10ms or less.
– or the system fails! 3
10-Aug-19
Embedded Systems = Hardware +
RTOS +Application Program
SOFTWARE
ELECTROMECHANICAL
BACKUP & SAFETY
RTOS MEMORY
SENSORS
A/D
CONVERSION CPU D/A
CONVERSION
ACTUATORS
AUXILLARY
HUMAN DIAGNOSTIC SYSTEMS
INTERFACE PORT (POWER,
COOLING)
External
Environment
4
10-Aug-19
How is Real-Time OS Different
from Traditional OS?
• An embedded system responds to
external inputs:
If response is late, the system fails.
• General purpose OS:
Not designed for real-time use
• Real-time OS:
Helps tasks meet their deadline.
5
10-Aug-19
Characteristics of An
Embedded System
•Real-time:
• Some tasks are real-time
• Each real-time task is associated with
some time constraints, e.g. a Deadline.
•Correctness Criterion:
• Results should be logically correct,
• And within the stipulated time.
6
10-Aug-19
Characteristics of an
Embedded System cont…
• Safety and Task Criticality:
A critical task is one whose failure
causes system failure (example:
obstacle avoidance).
A safe system does not cause damage.
A safety-critical real-time system is
one where any failure causes severe
damage. 7
10-Aug-19
Characteristics of an
Embedded System cont…
• Concurrency:
A RT system needs to respond to
several independent events.
Typically separate tasks process each
independent event.
For the same inputs, the result can be
different (Non-determinism).
8
10-Aug-19
Characteristics of
Embedded Systems cont…
• Distributed and Feedback
Structure
• Custom Hardware:
An embedded system is often
implemented on custom H/W that
is specially designed and developed
for the purpose.
9
10-Aug-19
Characteristics of
Embedded Systems
Actuator Sensor
Embedded System
Actuator Sensor
Computation
Processing Processing
Environment
Feedback structure of real-time systems
10-Aug-19
Characteristics of Embedded
Systems cont…
• Reactive:
On-going interaction between
computer and environment.
• Stability:
Under overload conditions, at least
the important tasks should perform
acceptably.
• Exception Handling: 11
10-Aug-19
Safety and Reliability
•A safe system:
• Does not cause damage even when it
fails.
•A reliable system:
• Operates for long time without any
failure.
•Independent concepts in traditional
systems.
12
10-Aug-19
Safety and Reliability
• In traditional systems:
• Safety and reliability are
independent concerns.
A system can be safe and unreliable
and vice versa.
Give examples of:
• A safe and unreliable system
• A reliable and unsafe system
13
10-Aug-19
Safety and Reliability
cont…
• Interrelated in safety-critical
system.
A safety critical system is one
for which any failure of the
system would result in severe
damage.
• Safety can be ensured only
through increased reliability. 14
10-Aug-19
Safety and Reliability
• An unreliable system can be made
safe upon a failure:
By reverting to a fail-safe state.
• A fail-safe state:
No damage can result if a system
fails in this state.
Example: For a traffic light, all
lights orange and blinking.
15
10-Aug-19
Fail-Safe State
• The fail-safe state of a word
processing program:
The document being processed has
been saved onto the disk.
• Fail-safe states help separate the
issues of safety and reliability.
Even if a system is unreliable, it can
always be made to fail in a fail-safe
state.
10-Aug-19
16
Safety and Reliability
• For a safety-critical system
No fail-safe state exists.
• Consider the navigation system on an
aircraft:
• When the navigation system fails:
• Shutting down the engine can be of
little help!
As a result, for a safety-critical
system:
• The only way to achieve safety is by
making it reliable.
17
10-Aug-19
Safety-Critical Systems
• A safety-critical system:
• One for which a failure can cause
severe damages.
• A safety-critical system does
not have any fail-safe states:
Safety can only be ensured through
increased reliability.
18
10-Aug-19
How to Design a Highly
Reliable System?
–Error Avoidance
–Error Detection and
Removing
–Fault Tolerance
19
10-Aug-19
Fault Tolerance in RT
System
• The essential idea:
Provide redundancy
• Hardware Fault-Tolerance:
Masks the effects of a hardware
fault.
• Software Fault-Tolerance:
Masks the effects of a program
fault.
10-Aug-19
20
Fault Tolerance in RT
System
– Hardware FT:
• Built in self test (BIST)
• Triple modular redundancy
– Software FT:
• N-Version programming
• Recovery Blocks
21
10-Aug-19
Triple Modular Redundancy
C1 V
O
T
C2 I Majority Result
N
C3 G
C1, C2 and C3 are redundant copies of a component
10-Aug-19
N-version Programming
• Software fault tolerance technique
inspired by TMR of hardware:
Different teams are employed to
develop the same software.
Unsatisfactory performance in
practice.
Reason: Faults are correlated in the
different versions.
All versions fail for similar reasons. 23
10-Aug-19
Recovery Blocks
TB1 TB2 TB3 TB4 exception
input
result result
TB: try block
test test test test
failure
success success failure
result
Software Fault Tolerance using recovery blocks
10-Aug-19
Modern Embedded Systems
Application
Analog
Specific HW
I/O
Processor
Cores Memory
• Embedded systems incorporate:
Application-specific hardware (ASICs, FPGAs
etc.)
• performance, low power
Programmable processors: DSPs, controllers etc.
Mechanical transducers and actuators 25
10-Aug-19
Block Diagram of An
Embedded System
controller
control panel processes
Real-time
ASIC UI
Processor OS
processes
DSP Programmable DSP
Programmable
Assembly DSP Assembly
DSP
Code Code
Dual-ported
CODEC
RAM
26
10-Aug-19
Why Have an OS in an
Embedded Device?
• Support for:
Multitasking, scheduling, and synchronization
Timing aspects.
Memory management
File systems
Networking
Graphics displays
Interfacing wide range of I/O devices
Scheduling and buffering of I/O operations
Security and power Management 27
10-Aug-19
Why Have an OS in an
Embedded Device?
• Example: A recent cell phone operating system
contained over five million lines of code!
• Few, if any projects will have the time and
funding:
To develop all of this code on their own!
• Typical Embedded OS license fees are a few
dollars per device –-- less than a desktop OS
• Some very simple low-end devices might not need
an OS:
But new devices are getting more complex.
28
10-Aug-19
What is Actually Being Used?
• What Types of Processors are used?
• What Operating Systems are used?
• What Programming Languages are
used?
• Will examine data from a 2006 Market
Survey of design engineers:
Embedded Systems Design Magazine.
29
10-Aug-19
Processor Bit Size Used
in New Embedded Designs
64-bit
32-bit
16-bit
8-bit
4-bit
0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00%
Data was derived from EETimes and Embedded Systems Design Magazine 2006 Embedded Market Survey
30
10-Aug-19
Processor Architectures Widely
Used in New Embedded Designs
• ARM
• X86
• PowerPC
• MIPS
• Xscale (ARM)
• Renesas SuperH
31
10-Aug-19
32-64 bit Annual
Processor Sales
Processor Sales Volume
ARM
X86
MIPS
SuperH
PowerPC
0.00% 5.00% 10.00% 15.00%Based20.00%
on 2002 sales25.00%
data 30.00% 35.00% 40.00%
32
10-Aug-19
Number of Processors Used
in New Embedded Designs
1 Processor
2 Processors
3-5 Processors
More Than 5
0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00%
Data was derived from EETimes and Embedded Systems Design Magazine 2006 Embedded Market Survey
33
10-Aug-19
Processor Selection Issues
• Software Support
OS, Compilers, Debug Tools, Applications
• Price
• Performance
• Power
Battery Life (MIPS/Watt), Cooling
(Fan?)
• Desktop PC 100 W vs. Battery power 200 mw
• Availability
Long term availability, Multiple Vendors?
34
10-Aug-19
Use of Real-Time OS Kernels
in New Embedded Designs
Commercial OS
None
Internally Developed
Open Source
0.00% 10.00% 20.00% 30.00% 40.00% 50.00%
Data was derived from EETimes and Embedded Systems Design Magazine 2006 Embedded Market Survey
35
10-Aug-19
Pros and Cons of Open
Source OS
• Embedded devices are
extremely cost sensitive:
Even a $1 license fee per device
can make a product
uncompetitive.
• For satisfactory performance:
The source code often needs to
be fine tuned.
10-Aug-19
36
Open Source OS: Cons
• “Free” OS can increase product
development cost:
More time to develop device drivers, increased
labor cost.
More than offset the commercial OS license
fees saved.
• Some other licenses may still required:
Encoders & decoders, encryption, media player
• Open source license model may require:
That you publish your device’s source code
37
10-Aug-19
Commercial Operating Systems
used in New Embedded Designs
Microsoft Emb.
Wind River
Symbian
Green Hills
Palm
Others
0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00%
Data was derived from EETimes and Embedded Systems Design Magazine 2006 Embedded Market Survey
38
10-Aug-19
Programming Languages Used
in New Embedded Designs
C
C++
C#
Java
Assembly
Others
0.00% 10.00% 20.00% 30.00% 40.00% 50.00%
Data was derived from EETimes and Embedded Systems Design Magazine 2006 Embedded Market Survey
60.00% 70.00%
39
10-Aug-19
Future of Embedded
Systems
• Use of multi-core processors:
Present operating systems and
tools do not make satisfactory
utilization of the multiple cores.
• Support of wireless and mobile
Internet.
• Power minimization.
40
10-Aug-19