0% found this document useful (0 votes)
32 views80 pages

Realtime 1

This document discusses real-time systems. It defines real-time as needing predictable worst-case performance and mathematically provable deadlines. It describes types of real-time systems based on location (uniprocessor, multicore, distributed), task characteristics (periodic, aperiodic, sporadic), and when scheduling decisions are made (clock-based, event-based, hybrid). It also discusses schedulability tests, priority inversion issues, and solutions like priority inheritance and the ceiling priority protocol. The document concludes by outlining upcoming classes on real-time operating systems and assigning a minor project to benchmark Linux schedulers.

Uploaded by

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

Realtime 1

This document discusses real-time systems. It defines real-time as needing predictable worst-case performance and mathematically provable deadlines. It describes types of real-time systems based on location (uniprocessor, multicore, distributed), task characteristics (periodic, aperiodic, sporadic), and when scheduling decisions are made (clock-based, event-based, hybrid). It also discusses schedulability tests, priority inversion issues, and solutions like priority inheritance and the ceiling priority protocol. The document concludes by outlining upcoming classes on real-time operating systems and assigning a minor project to benchmark Linux schedulers.

Uploaded by

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

Real Time Systems

Real-Time Systems
Jane W. S. Liu, University of Ilinois at Urbana-Champaign
Real Time Types
Real time is not necessarily fast
● Fast means low average latency
● Real time needs predictable worst case performance
● One needs to mathematically prove that all deadlines
will be met even in the worst case
– For uniprocessor system and periodic tasks, mathematical
proofs were given in 1970-1990. Now one has to perform
some schedulability tests, and if the tests pass, the deadlines
are guaranteed to be met.
– Linux real time patch is designed to be real time, but is not
real time, as the code base is too complex for giving
mathematical guarantees
– It has a number of changes to improve reliability/predictability
Other real time system classifications
● Based on where it runs
– Uniprocessor
– Multicore
– Distributed
● Based on time characteristics of tasks
– Periodic
– Aperiodic
– Sporadic
● Based on when scheduling decisions are taken
– Clock based
– Event based
– Hybrid
( )
Schedulability Tests
Data structure space and insertion times are too high for
typical embedded real time platforms and applications
Bounded Priority Inversion
Unbounded Priority Inversion
Priority Inheritence
Transitive Priority Inheritence
Ceiling Priority Protocol
● In the ceiling priority protocol, the priority of every task is known, as
are the resources required by every task.
● For a given resource, the priority ceiling is the highest priority of all
possible tasks that might require the resource.
● For example, if a resource R is required by four tasks (T1 of priority
4, T2 of priority 9, T3 of priority 10, and T4 of priority 8), the priority
ceiling of R is 10, which is the highest priority of the four tasks.
● With the ceiling priority protocol, the task inherits the priority ceiling
of the resource as soon as the task acquires the resource even
when no other higher priority tasks contend for the same resource.
● This rule implies that all critical sections from every sharing task
have the same criticality level. The idea is to finish the critical
section as soon as possible to avoid possible conflicts.
Ceiling Priority Protocol Rules
Next week classes
● Commercial and free RTOS
– Hard real time guarantees
● Linux Real Time patch
– No guarantee, but design for more predictability
● Minor 2 (due on Oct 11):
– Build raspbian from source (CFS scheduler)
– Apply BFS patch
– Apply Preempt RT patch
– Run same benchmark with three different schedulers and report
average and worst case latencies

You might also like