• Zadania planu pierwszego • Zadania tła Foreground
zegar 10 ms
pomiar obliczenie wyjście
Background 2s?
diagnostyka
30 s ?
raport
Rts2F.doc
5
Systemy Czasu Rzeczywistego
Krzysztof Sacha
Przykład: komunikacja zadań
Lokalizacja pociągów
przerwanie
Lokalizacja pociągów
3 1 6 5 4 3 4 2 6 7 8 9
3 1 6
Przekaz do centrali
4 2 6 7 8 9
Przekaz do centrali
Rts2F.doc
3 1 6 7 8 9
6
Systemy Czasu Rzeczywistego
Krzysztof Sacha
3. System wielozadaniowy (Multitasking) • Wiele zadań o różnych charakterystykach czasowych: -
sterowanie komunikacja w sieci archiwizacja i dokumentacja GUI
• Zadania nie zawsze gotowe A B C
czas początek B
koniec B
• Złożona synchronizacja i komunikacja zadań
Rts2F.doc
7
Systemy Czasu Rzeczywistego
Krzysztof Sacha
Szeregowanie zadań Sformułowanie problemu • Dany zbiór zadań do wykonania • Dla każdego zadania zi określone: - czas wykonania ti - okres cyklu ci • Znaleźć właściwą kolejność wykonania zadań Algorytmy szeregowania • RMS (Rate Monotonic Scheduling) • EDF (Earliest Deadline First)
Rts2F.doc
8
Systemy Czasu Rzeczywistego
Krzysztof Sacha
Przykłady Zadanie A B
Długość 8 10
Cykl 16 25
Obciążenie 8/16 = 50% 10/25 = 40% = 90%
• Rate monotonic scheduling (RMS) A B
8
8
0
8 16
8
2 32
24
• Earliest deadline first (EDF) A B 0
8 8 8
2 16
6 2 24
8 4
6 32
Rts2F.doc
40
48
9
Systemy Czasu Rzeczywistego
Krzysztof Sacha
Szeregowalność • RMS – Twierdzenie (Liu, Layland, 1973) n t i Σ i=1 ci
1 n (2n− 1)
≤ Jeżeli: oraz szeregowanie jest zgodne z pilnością (RMS) to wszystkie zadania zostaną wykonane w terminie • EDF – Twierdzenie (Spuri, Butazzo, Sensini, 1995) n t i Σ i=1 ci
≤1 Jeżeli: oraz szeregowanie jest zgodne z terminami (EDF) to wszystkie zadania zostaną wykonane w terminie
Rts2F.doc
10
Systemy Czasu Rzeczywistego
Krzysztof Sacha
Przewidywalność Zadanie A B
Długość 2 8
Cykl 5 12
Obciążenie 2/5 = 40% 8/12 = 66% = 106%
• Rate monotonic scheduling (RMS) B
B
B
A B 0
4
A(5) B(12)
8 A(10)
12
16
A(15) A(20) B(24)
20
24
A(25)
A(30) B(36)
28
32
36
A(35)
A(40)
• Earliest deadline first (EDF) — zmienne priorytety B
A A B 0 A(5) B(12)
4
8 A(10)
12
16
A(15) A(20) B(24)
Rts2F.doc
20
24
A(25)
A(30) B(36)
28
32 A(35)
36 A(40)
11
Systemy Czasu Rzeczywistego
Krzysztof Sacha
Zadania sporadyczne • Zadanie obsługujące • Algorytm Sporadic Server (Sprunt, Sha, Lehoczky, 1989) Przykład − zadania cykliczne: czas wykonania 18, okres 30 − serwer sporadyczny: zapas czasu 5, okres odnawiania 15 − zadania sporadyczne: czas obsługi 4, zgłoszenia 1, 2, 8, 10, 39 Priorytet Serwer
5
5
Cykliczne 1 Tło
replenishment period 4
10 6
7 16
21
Rts2F.doc
1 2 28 31 35
1 4
3 6
40
46 50
Czas
12
Systemy Czasu Rzeczywistego
Krzysztof Sacha
Synchronizacja zadań • Dla każdego zadania zi określone dodatkowo:
- maksymalny czas zablokowania przez zadania o niższym priorytecie bi Twierdzenie (Sha, Rajkunur, Lehoczky, 1990) n
1 ti bi Σ max Jeżeli: i=1 ci +i=1..n ci ≤ n (2n− 1) oraz szeregowanie jest zgodne z pilnością (RMS)
to wszystkie zadania zostaną wykonane w terminie A B C start zadania A
Rts2F.doc
13
Systemy Czasu Rzeczywistego
Krzysztof Sacha
Podejście praktyczne 1. 2. 3. 4. 5.
Zadania o ostrych ograniczeniach czasowych (krytyczne) Zadania o łagodnych ograniczeniach czasowych Zadania sporadyczne Szeregowalność zadań krytycznych Szeregowalność wszystkich zadań
• Chwilowe przeciążenia systemu (transient overload)