Embed
Email

14_RTOS

Document Sample

Shared by: panniuniu
Categories
Tags
Stats
views:
4
posted:
12/10/2011
language:
pages:
22
Introduction to

Real-Time Systems









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Real Time System



• “A real time computer system is one in which the correctness of the

system behavior depends not only on the logical results of the

computation, but also on the physical instant at which these results are

produced.” –Kopetz









• Not necessarily fast, but definitely predictable









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Distinguishing Embedded and Real-Time

Systems







Real-time systems

Embedded systems









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Non–RTS

• Utility value remains constant

– “Utility” is some measurement of value of the computation









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Soft RTS

• Decreasing Utility value after deadline









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Hard RTS

• Zero Utility value after deadline

• Firm vs. Hard  basically the same, with less drastic results









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Example: Cruise Control



• Regulates speed of car by adjusting the throttle: driver sets a speed

and car maintains it.



• Measures speed through device connected to drive shaft.



• Hard real-time: drive shaft revolution events.



• Soft real-time: driver inputs, throttle adjustments.







CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Example: Manufacturing









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Lots of Examples

• cars: engine control, ABS, drive-by-wire

• planes: stability, jet engine, fly-by-wire

• computers: peripherals, applications

• military: weapons, satellites

• Small appliances: microwave, thermostat, dishwasher

• medical: pacemaker, medical monitoring

• protection: intruder alarm, smoke/gas detection







CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Terminology

• System: black box with n inputs and m outputs



• Response time: time between presentation of a set of inputs and the

appearance of the corresponding outputs



• Utilization: measure of „useful‟ work a system performs



• Events: Change of state causing a change of flow-of-control of a

computer program









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Classification of RT Systems



• synchronous: events occur at predictable times in the flow-of-control.



• asynchronous: interrupts.



• state-based vs. event-based:

– plane wing is at an angle of 32º (state)

– plane wing moved up 4º (event)





• deterministic system: for each possible state and each set of inputs, a

unique set of outputs and next state of the system can be determined.





CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Common Misconceptions



• “Real fast” is Real-time: a computer system may satisfy an

application‟s requirement, but no predictability (no real-time resource

management).



• Hardware over-capacity is enough: again, without real-time resource

management no appropriate balance of resource distribution.









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Static vs. Dynamic RT Systems

• In a Static System, the environment and workload is assumed to be

constant (or at least close)

– Approach: Prove at design-time that your system meets required timings





• In a Dynamic System, where the environment may change, we aren‟t

so lucky

– Approach: Prove at design-time that your system will meet required timings given

certain environmental assumptions

– Reliability is the measure of how sure we are that correct operation will happen

• Usually a probability









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Operating Systems



• Real-Time OS: VxWorks, QNX, LynxOS, etc.



• GPOS: no support for real-time applications, focus on „fairness‟.

– BUT, people love GPOSs, e.g., Linux:

• RTLinux(WindRiver)

• KURT (Kansas U.)

• Linux/RT (TimeSys)









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

RT OSs



• Determinism / Predictability

– Ability to meet deadlines

– Traditional operating systems non-deterministic





• Standards: Real-Time POSIX 1003.1

– Pre-emptive fixed-priority scheduling

– Synchronization methods

– Task scheduling options









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

RT OS Sampler

• LynxOS

– Microkernel Architecture

– Provides scheduling, interrupt, and synchronization support

– Real-Time POSIX support

– Easy transition from Linux

• VxWorks

– Monolithic Kernel

• Reduced run-time overhead, but increased kernel size compared to Microkernel

designs

– Supports Real-Time POSIX standards

– Common in industry

• Mars missions

• Honda ASIMO robot

• Switches

• MRI scanners

• Car engine control systems



CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

RT Linux

• “Workaround”on top of a generic O/S

– Generic O/S – optimizes average case scenario

– RTOS – need to consider WORST CASE scenarios to ensure deadlines are met





• Dual-kernel approach

– Makes Linux a low-priority pre-emptable thread running on a separate RTLinux kernel

– Tradeoff between determinism of pure real-time O/S and flexibility of conventional O/S





• Periodic tasks only

– (still true?)









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

RT Process Types

• static: all scheduling decisions are determined before execution.



• dynamic: run-time decisions are used.



• periodic: processes that repeatedly execute



• aperiodic: processes that are triggered by asynchronous events from

the physical world.



• sporadic: aperiodic processes w/ known minimum inter-arrival jitter

between any two aperiodic events



CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Real-Time Scheduling



• Schedulers: compile-time or run-time



• Systems: uniprocessor, multiprocessor



• We can characterize a task with a few parameters:

c computation time

s start (release or ready) time

d deadline (relative to start time)

p period or minimum separation





CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Preemptive vs. Not

• Preemptive Scheduling

– Task execution is preempted and resumed later.

– Preemption takes place to execute a higher priority task.

– Offers higher schedulability.

– Involves higher scheduling overhead due to context switching.



• Non-preemptive Scheduling

– Once a task is started executing, it completes its execution.

– Offers lower schedulability.

– Has less scheduling overhead because of less context switching









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

Optimal Scheduler



• One which may fail to meet the deadline of task only if no other

scheduler can



• Examples include (for uniprocessors)

– earliest-deadline-first (EDF)

– least-laxity-first (LLF)





• Only for independent tasks with no synchronization constraints and no

resource requirements









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst

EDF vs FIFO (non-real-time scheduler)

Example: task s d c

1 0 5 3

2 0 12 4

3 0 10 4



ready queue: 2, 3, 1



FIFO schedule: 2, 3, 1 (task 1 misses deadline)

EDF schedule: 1, 3, 2 (all tasks meet deadlines)









CS 478: Microcontroller Systems

University of Wisconsin-Eau Claire Dan Ernst



Other docs by panniuniu
organization_of_slp_working_files_3-23-10
Views: 1  |  Downloads: 0
Lesson 2 2011 key
Views: 0  |  Downloads: 0
Site Survey
Views: 2  |  Downloads: 0
alt energy project SP11
Views: 1  |  Downloads: 0
Effie Biography
Views: 0  |  Downloads: 0
Download-Organization-application-letter
Views: 0  |  Downloads: 0
TWIN_Nomination_form_2010
Views: 0  |  Downloads: 0
Engineering Change Order Master Log
Views: 2  |  Downloads: 0
360654.f1
Views: 0  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!