Tasks
Tasks
PeriodicThe period is the amount of time between each iteration of a regularly repeated task
Non PeriodicRespond to randomly arriving events .
Time drivenThe task is automatically activated by the kernel
at regular intervals.
Event drivenThe task is activated upon the arrival of an event
or through an explicit activation.
Tasks
• Non periodic tasks can be converted to periodic tasks– Converting an interrupt handler to a
polling task. – Instead of reacting to an external event
the moment it occurs, the system polls the external input regularly.
– If the awaited event is detected, the appropriated action is performed.
Tasks
Tasks
HardMissing a deadline may cause catastrophic
effects on the controlled system.
SoftMissing a deadline only causes a performance
degradation.
• Sensory acquisition• low-level control• sensory-motor planning
• Reading data from the keyboard• User command interpretation• Message displaying• Graphical activities
Schedule
• A schedule is a particular assignment of tasks to the processor.
τ3τ2τ1Idle Idle
t1 t2 t3 t4
t
Schedule algorithm
Schedule algorithm
PreemptiveThe running task can be
temporarily suspended in the ready queue toexecute a more important task.
Non PreemptiveThe running task cannot besuspended until completion.
Schedule Preemptive
t1 t2 t3 t4t
τ1
τ2
τ3
t5
Schedule Algorithms Constraints
• Timing constraints– Activation, completion, jitter.
• Precedence constraints– They impose an ordering in the
execution.
• Resource constraints– They enforce a synchronization in the
access of mutually exclusive resources.
Some Schedule Algorithms
• First Come First Served• Shortest Job First• Priority Scheduling• Round Robin Not suitable for Real Time!!!!!
First Come First Served
• It assigns the CPU to tasks based on their arrival times.– Very unpredictable– Response times strongly depend on task
arrivals.
Shortest Job First
• It selects the task with the shortest computation time.
Shortest Job First
• Sometimes…is not feasible
Priority Scheduling
• Each task is assigned a priority: e.g. [0, 255]- The task with the highest priority is selected for execution.
• - Tasks with the same priority are served FCFS.
• Problem: starvation – low priority tasks may experience long
delays due to the preemption of high priority tasks.
Round Robin
• The ready queue is served as FCFS• Each task cannot execute more than
Q time units (Q = time quantum).• When Q expires, the task is put back
in the queue.
CPUτ3τ2τ1
Activation
Q expired
Round Robin
• Each task runs as it was executing alone on a virtual processor n times slower than the real one!!!
Q
nQ
Real Time Algorithms
– Tasks can be scheduled by • Relative deadlines Di (static)• Absolute deadlines di (dynamic)
t
di
τi
Di
Earliest Due Date (EDD)
– It selects the task with the earliest relative deadline. • All tasks arrive simultaneously• Fixed priority (Di is known in advance)• Preemption is not an issue• It minimizes the maximum lateness (Lmax)
Earliest Deadline First (EDF)
– It selects the task with the earliest absolute deadline • Tasks may arrive at any time• Dynamic priority (di depends on arrival)• Full preemptive tasks• It minimizes the maximum lateness (Lmax)
Earliest Deadline First Example
Periodic Tasks Scheduling
– Defining the problem• Each group of tasks has to start after the
period defined. • Each group of tasks has to finish before the
next period come.
Cyclic Scheduling
It has been used for 30 years in military systems, navigation, and monitoring systems.
Examples:– Air traffic control– Space Shuttle– Boeing 777
Cyclic Scheduling Method
– The time axis is divided in intervals of equal length (time slots).
– Each task is statically allocated in a slot in order to meet the desired request rate.
– The execution in each slot is activated by a timer.
Cyclic Scheduling Example
• Specification :– Task A f=40 Hz, T=25 ms– Task B f=20 Hz, T=50 ms– Task C f=10 Hz, T=100 ms
0 ms 25 ms 75 ms50 ms 100 ms
125 ms
175 ms
150 ms
225 ms
200 ms
Λ
Λ Minor Cycle
T
T Major Cycle
Assumptions guaranteed!!!:
CA + CB ≤ Λ
CA + Cc ≤ Λ