Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by.

Similar presentations


Presentation on theme: "Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by."— Presentation transcript:

1

2 Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by the kernel at regular intervals. Non Periodic Respond to randomly arriving events. Event driven The task is activated upon the arrival of an event or through an explicit activation.

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

4 Tasks Hard Missing a deadline may cause catastrophic effects on the controlled system. Sensory acquisition low-level control sensory-motor planning Soft Missing a deadline only causes a performance degradation. Reading data from the keyboard User command interpretation Message displaying Graphical activities

5 Schedule A schedule is a particular assignment of tasks to the processor. τ3τ3 τ2τ2 τ1τ1 Idle t1t1 t2t2 t3t3 t4t4 t

6 Schedule algorithm Preemptive The running task can be temporarily suspended in the ready queue to execute a more important task. Non Preemptive The running task cannot be suspended until completion.

7 Schedule Preemptive t1t1 t2t2 t3t3 t4t4 t τ1τ1 τ2τ2 τ3τ3 t5t5

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

9 Some Schedule Algorithms First Come First Served Shortest Job First Priority Scheduling Round Robin  Not suitable for Real Time!!!!!

10 First Come First Served It assigns the CPU to tasks based on their arrival times. –Very unpredictable –Response times strongly depend on task arrivals.

11 Shortest Job First It selects the task with the shortest computation time.

12 Shortest Job First Sometimes…is not feasible

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

14 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τ3 τ2τ2 τ1τ1 Activatio n Q expired

15 Round Robin Each task runs as it was executing alone on a virtual processor n times slower than the real one!!! Q nQ

16 Real Time Algorithms –Tasks can be scheduled by Relative deadlines Di (static) Absolute deadlines di (dynamic) t didi τiτi DiDi

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

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

19 Earliest Deadline First Example

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

21 Cyclic Scheduling It has been used for 30 years in military systems, navigation, and monitoring systems. Examples: –Air traffic control –Space Shuttle –Boeing 777

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

23 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 ms150 ms225 ms200 ms Λ Λ Minor Cycle T T Major Cycle Assumptions guaranteed!!!: C A + C B ≤ Λ C A + C c ≤ Λ


Download ppt "Tasks Periodic The period is the amount of time between each iteration of a regularly repeated task Time driven The task is automatically activated by."

Similar presentations


Ads by Google