1 / 22

Introduction to Real-Time Systems

Introduction to Real-Time Systems. 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

Télécharger la présentation

Introduction to Real-Time Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction toReal-Time Systems

  2. 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

  3. Distinguishing Embedded and Real-Time Systems Real-time systems Embedded systems

  4. Non–RTS • Utility value remains constant • “Utility” is some measurement of value of the computation

  5. Soft RTS • Decreasing Utility value after deadline

  6. Hard RTS • Zero Utility value after deadline • Firm vs. Hard  basically the same, with less drastic results

  7. 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.

  8. Example: Manufacturing

  9. 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

  10. 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

  11. 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.

  12. 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.

  13. 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

  14. 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)

  15. 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

  16. 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

  17. 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?)

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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)

More Related