0% found this document useful (0 votes)
103 views

Real-Time Systems: Frank Drews

This document provides an introduction to real-time systems. It defines real-time systems as systems that have both logical and temporal correctness requirements. It discusses the differences between hard and soft real-time systems and periodic vs. aperiodic tasks. Examples of real-time systems include control systems, signal processing systems, and multimedia applications. Real-time operating systems are specialized to meet the timing constraints of real-time applications through mechanisms like priority-based scheduling.

Uploaded by

Shresth Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
103 views

Real-Time Systems: Frank Drews

This document provides an introduction to real-time systems. It defines real-time systems as systems that have both logical and temporal correctness requirements. It discusses the differences between hard and soft real-time systems and periodic vs. aperiodic tasks. Examples of real-time systems include control systems, signal processing systems, and multimedia applications. Real-time operating systems are specialized to meet the timing constraints of real-time applications through mechanisms like priority-based scheduling.

Uploaded by

Shresth Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 30

Real-Time Systems

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.

Temporal Correctness: Produces outputs at


the right time.
In this course, we spend much time on techniques
and technologies for achieving and checking temporal
correctness.

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

Typical Characteristics of RealTime Systems

Event-driven, reactive.
High cost of failure.
Concurrency/multiprogramming.
Stand-alone/continuous operation.
Reliability/fault-tolerance requirements.
Predictable behavior.

Misconceptions about Real-Time Systems


(Stankovic 88)

There is no science in real-time-system design.


We shall see

Advances in supercomputing hardware will take


care of real-time requirements.
The old buy a faster processor argument

Real-time computing is equivalent to fast


computing.
Only to ad agencies. To us, it means PREDICTABLE
computing.

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.

Real time is performance engineering.


In real-time computing, timeliness is almost always more
important than raw performance

Real-time problems have all been solved in other areas


of CS or operations research.
OR people typically use stochastic queuing models or one-shot
scheduling models to reason about systems.
In other CS areas, people are usually interested in optimizing
average-case performance.

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!

Real-time systems function only in a static


environment.
Note true. We consider systems in which the
environment may change dynamically.

Are All Systems Real-Time


Systems?
Question: Is a payroll processing system a
realtime system?
It has a time constraint: Print the pay checks every
two weeks.

Perhaps it is a real-time system in a definitional


sense, but it doesnt pay us to view it as such.
We are interested in systems for which it is not a
priori obvious how to meet timing constraints

The Window of Scarcity


Resources may be categorized as:
Abundant: Virtually any system design
methodology can be used to realize the timing
requirements of the application.
Insufficient: The application is ahead of the
technology curve; no design methodology can
be used to realize the timing requirements of the
application.
Sufficient but scarce: It is possible to realize
the timing requirements of the application, but
careful resource allocation is required.

Example: Interactive/Multimedia
Applications

Example: Real-Time Applications


Many real-time systems are control systems
Example 1: A simple one-sensor, oneactuator control system

Simple Control System (Continued)


Pseudo-code for this system:

T is called sampling period. T is a key design choice.


Typical range for T: seconds to milliseconds.

Time

Multi-rate Control Systems


More complicated control systems have multiple sensors
and actuators and must support control loops of different
rates.
Example 2: Helicopter flight controller.

Note: Having only harmonic rates simplifies the system

Hierarchical Control Systems

Air Traffic Control

[Reddaway et al. WMPP05]

Signal-Processing System
Signal-processing systems transform
data from one form to another.
Examples:
Digital filtering.
Video and voice compression/decompression.
Radar signal processing.

Response times range from a few


milliseconds to a few seconds.

Example: Radar System

Internet/Multimedia Applications

Web farms hosting multiple web


domains

static
dynamic streaming
content content video/audio

Each web domain receives a certain


share of the overall resources (CPU,
network, file system)
Each web domain consists of an
application pool (static content,
dynamic content, streaming
video/audio, etc.)

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

Other Real-Time Applications


Real-time databases.
Transactions must complete by deadlines.
Main dilemma: Transaction scheduling algorithms and real-time
scheduling algorithms often have conflicting goals.
Data may be subject to absolute and relative temporal
consistency requirements.
Overall goal: reliable responses

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.

Other requirements: Lip synchronization, low jitter, low


end-to-end response times (if interactive).

Hard vs. Soft Real Time


Task: A sequential piece of code.
Job: Instance of a task
Jobs require resources to execute.
Example resources: CPU, network, disk, critical section.
We will simply call all hardware resources processors.

Release time of a job: The time instant the job becomes


ready to execute.
Deadline of a job: The time instant by which the job
must complete execution.
Relative deadline of a job: Deadline - Release time.
Response time of a job: Completion time - Release
time.

Example

Job is released at time 3.


Its absolute deadline is at time 10.
Its relative deadline is 7.
Its response time is 6.

Hard Real-Time Systems


A hard deadline must be met.
If any hard deadline is ever missed, then the system is
incorrect.
Requires a means for validating that deadlines are
met.

Hard real-time system: A real-time system in


which all deadlines are hard.
We consider hard and soft real-time systems in this
course.

Examples: Nuclear power plant control, flight


control.

Soft Real-Time Systems


A soft deadline may occasionally be
missed.
Question: How to define occasionally?

Soft real-time system: A real-time


system in which some deadlines are soft.
Examples: multimedia applications.

Performance
Two particular factors are important
How fast does a system respond
When it fails, what happens?

The Speed of Response


All required responses are time-critical
The designer should predict the delivered
performance of the systems with the required
performance
Unfortunately, it may not be possible to give
100% guarantees

Periodic vs. Aperiodic Tasks


Periodic Tasks
Tasks run at regular, pre-defined intervals
Example: closed loop digital controller having
fixed, pre-set sampling rates
Execute
control task

Execute
control task

Idle time

Idle time

time

Sampling interval

t0

t1
Synchronous real-time clock signals

t2

Periodic vs. Aperiodic Tasks

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

Mixing Periodic and Aperiodic


Tasks
We get into trouble in situations which
involve a mix of periodic and
aperiodic(sporadic) events, which are
usual in real-time designs
Much thought and skill are needed to deal
with the response requirements of periodic
and aperiodic tasks

Real-Time Operating Systems


(RTOSs)
RTOS: specialized operating system for RTS
Main responsibilities:
Process management
Resource allocation (processor, memory, network)

They may not include regular OS facilities such as file


management, virtual memory, user/kernel level
separation, etc.
Manage at least two priority levels:
Interrupt level, for processes that need fast response
Clock level, for periodic processes

Typical components: real-time clock, interrupt handler,


scheduler, resource manager, dispatcher

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy