Real-Time Systems: Frank Drews
Real-Time Systems: Frank Drews
Introduction
Frank Drews
drews@ohio.edu
Real-time Systems
A real-time system is a system whose
specification includes both logical and temporal
correctness requirements.
Logical Correctness: Produces correct outputs.
Can by checked, for example, by Hoare logic.
Embedded Systems
[www.webopedia.com]:
An embedded system is a specialized
computer system that is part of a larger system
or machine. Typically, an embedded system is
housed on a single microprocessor board with
the programs stored in ROM. Virtually all
appliances that have digital interfaces (e.g.,
watches, microwaves, VCRs, cars) utilize
embedded systems []
Many embedded systems are real-time systems
Event-driven, reactive.
High cost of failure.
Concurrency/multiprogramming.
Stand-alone/continuous operation.
Reliability/fault-tolerance requirements.
Predictable behavior.
Misconceptions (Continued)
Real-time programming is assembly coding,
We would like to automate (as much as possible) real-time
system design, instead of relying on clever hand-crafted code.
Misconceptions (Continued)
It is not meaningful to talk about
guaranteeing real-time performance when
things can fail.
Though things may fail, we certainly dont
want the operating system to be the weakest
link!
Example: Interactive/Multimedia
Applications
Time
Signal-Processing System
Signal-processing systems transform
data from one form to another.
Examples:
Digital filtering.
Video and voice compression/decompression.
Radar signal processing.
Internet/Multimedia Applications
static
dynamic streaming
content content video/audio
Challenges
Sharing the resource among domains
(i.e. application pools) may be hard in
general purpose Operating Systems
Guarantee of a uniform, steady, jitterfree execution of time critical
multimedia applications while not
starving other applications
Support of multiprocessor server
systems
Server
Domain 1
Domain 3
Domain 2
Multimedia.
Want to process audio and video frames at steady rates.
TV video rate is 30 frames/sec. HDTV is 60 frames/sec.
Telephone audio is 16 Kbits/sec. CD audio is 128 Kbits/sec.
Example
Performance
Two particular factors are important
How fast does a system respond
When it fails, what happens?
Execute
control task
Idle time
Idle time
time
Sampling interval
t0
t1
Synchronous real-time clock signals
t2
Aperiodic Tasks
Occur when the computer must respond to (generally) external events which
occur at random (asynchronous or aperiodic); have either soft or no deadlines
Sporadic Tasks
Similar to aperiodic tasks; however, the event must be serviced within a specific
maximum time period; hard deadline
Execute
event task
e0
Idle
time
Execute
event task
e1
Asynchronous events
Execute
event task
Idle time
e2
time