Agenda
• Introduction• Control systems• Basic concepts• Real-Time• Task Scheduling• Real-Time in Linux
Control System
In all the control systems, we found 3 basic components:
• System to be controlled– With sensors, actuators, cables…etc.
• Controller– Send orders to the system according a
predetermined control objective.
• Environment– Where the control system operates.
Types of Control Systems
Depending of the interactions with the environment we distinguish 3 types of control systems:
• Monitoring Systems– Do not modify the environment
• Open-loop control systems– Loosely modify the environment
• Closed-loop control systems– Tight interaction between perception and
action
Monitoring Systems
Environment
Sensor 1
Data FiltersData Process Sensor 2
Sensor n
Display Examples: surveillance systems, air traffic control
Do not modify the environment
Open-Loop Control Systems
Environment
Actuators
Data Process
Planning Sensors
Examples: assembly robots, industrial chains, access systems
SystemController
Sensing and control are loosely coupled
Closed-Loop Control Systems
Environment
Actuators
Data Process
Planning Sensors
Examples: humans, flight control systems, safety systems
SystemController
Sensing and control are tightly coupled
Conclusions
• If we have a tight interaction with the environment, the system has to react to events within precise timing constrains.
• Timing constrains are imposed by the environment.
• The control system must to be able to execute tasks within time constraints.
What’s a Real Time System? I
• “A real-time system is one in which the correctness of the computations not only depends upon the logical correctness of the computation but also upon the time at which the result is produced.
• If the timing constraints of the system are not met, system failure is said to have occurred” Donald Gillies.
What’s a Real Time System? II
• System capable of guaranteeing timing requirements of the processes under its control.– It is essential that the timing constraints of the
system are guaranteed to be met. Guaranteeing timing behavior requires that the system be predictable.
– It is also desirable that the system attain a high degree of utilization while satisfying the timing constraints of the system.
– Late or early answer → Wrong answer– Guarantee worst case vs. best effort
What’s not a Real-Time System? I
• A real-time system is not a fast system.– AFAP systems– Speed is always relative to a specific
environment.– Running faster is good, but does not
guarantee a correct behavior.• Real-time systems is not on-line
systems or "an interactive system with better response time than we had".
Fast meaning in Real Time
• Fast means that it has a low latency– It responds to external, asynchronous
events in a short time. The lower the latency, the better the system will respond to events which require immediate attention
Predictable
• Predictable means that it is able to determine task's completion time with certainty.
• Predictable refers to a system whose timing behavior is always within an acceptable range. The behavior is specified on a system-wide basis, such as “all tasks will meet all deadlines”.
Deterministic
• Special case of a predictable system. • Not only is the timing behavior within a
certain range, but that timing behavior can be pre-determined.
• Pre-allocated time slots for each task. • Execution for each task occurs only
during those time slots. Determinism is not essential to build predictable real-time systems.
Real Time Systems
• Real Time: System able to respond to events within precise timing constraints.
Real Time System
Event
Action
Real Time Systems
• It is a system in which the correctness depends not only on the output values, but also on the time at which results are produced.
y (t +Δ)
x (t)Real Time System
t
Environment
Real-Time classification
Real-Time
Hard (HRT)Guaranteed timing, cannot miss deadlines and must
have bounded latencies.
Soft (SRT)Ability to execute tasks according to a desired
time schedule on the average
Sensory-motor planningVideo display.
Definitions
• Task– is a sequence of instructions that in the
absence of other activities is continuously executed by the system until completion.
t
ai si fi
Definitions
• Real-Time Task τi
t
ri
si fi di
Ci
Di
τi
ri Request time (arrival time)
si Start Time
fi Finish Time
di Absolute Deadline
Di Relative deadline
Ci Worst Case execution time (wcet)
Li Latency
Lai Lateness (fi - di)
Ti Tardiness (max (0, Lai))
Li Lai
Definitions
• Lateness– Quality of coming late or later in time
• Tardiness– Quality of not adhering to a correct or usual or
expected time
• Latency– The time that elapses between a stimulus and the
response to it
• Jitter– Random variation in the timing of a signal, especially a
clock
Task status
Task Status
ActiveCan be executed by the CPU
Blockedwaiting for an event
Runningit is being executed by the CPU
Readyit is waiting for the CPU
Queue Ready Tasks
• The ready tasks go to the “waiting queue” the ready queue
• The strategy of choosing which task go before is known schedule algorithm CPUτ3τ2τ1Activatio
n
Dispatching
Not a FIFO Queue!!!