Organizacja oprogramowania

Systemy Czasu Rzeczywistego Krzysztof Sacha Organizacja oprogramowania 1. Cykliczny program sekwencyjny RS232 a/c (a) pomiar (b) obliczenie (c) wyj...
Author: Guest
3 downloads 2 Views 366KB Size
Systemy Czasu Rzeczywistego

Krzysztof Sacha

Organizacja oprogramowania 1. Cykliczny program sekwencyjny RS232 a/c

(a) pomiar (b) obliczenie (c) wyjście

czas wykonania

c/a

cykl ≤ 10 ms ≤ 10 ms ≤ 10 ms

1 ms 2 ms 1 ms 4 ms

(a) (b) (c)

Ÿ 10ms

Rts2F.doc

3

Zadania

µC (regulator)

1

Systemy Czasu Rzeczywistego

Krzysztof Sacha

Program sekwencyjny – ręczne rozplanowanie zadań Zadania:

czas wyk.

(a) pomiar (b) obliczenie (c) wyjście (d) komunikacja

cykl ≤ 5 ms ≤ 10 ms ≤ 10 ms ≤ 20 ms

1 ms 2 ms 1 ms 4 ms 8 ms

0

1

2

3

× × ×

×

× × ×

×

4

1

4

× 4

20% 20% 10% 20% 70%

pre-run scheduling

t= t+ 1(mod 4) pomiar T

t= 3 N

T

obliczenie wyjście komunikacja

3

Ÿ 5ms

t= 0 ∪ t= 2 N

Rts2F.doc

2

Systemy Czasu Rzeczywistego

Krzysztof Sacha

Program sekwencyjny – z uwzględnieniem zdarzeń Zadania:

czas wyk.

(a) pomiar (b) obliczenie (c) wyjście (d) komunikacja (e) przekroczenie

cykl ≤ 5 ms ≤ 10 ms ≤ 10 ms ≤ 20 ms ≤ 20 ms

1 ms 2 ms 1 ms 4 ms 3 ms 11 ms

0

1

2

3

× × ×

×

× × ×

×

× 4

× 4

4

5

20% 20% 10% 20% 15% 85%

t= t+ 1(mod 4) pomiar T

t= 3 N

T

t= 1 N

T

obliczenie wyjście komunikacja

N zdarzenie? T

obsługa

3

Ÿ 5ms

t= 0 ∪ t= 2 N

Rts2F.doc

3

Systemy Czasu Rzeczywistego

Krzysztof Sacha

Przykład: sterownik PLC Zmienne wejściowe

Wejścia

Ÿ

Zmienne robocze

• • • •

Zmienne wyjściowe

Czytaj wejścia Oblicz nowy stan Ustaw wyjścia Komunikacja i diagnostyka

Siemens, Simatic S5

Wyjścia

Alerton, VLC-853

Rts2F.doc

4

Systemy Czasu Rzeczywistego

Krzysztof Sacha

2. System dwuplanowy (Foreground/Background) Zadania:

czas wyk.

(a) pomiar (b) obliczenie (c) wyjście (d) diagnostyka (d) raport

1 ms 2 ms 1 ms 100 ms 500 ms

cykl ≤ 10 ms ≤ 10 ms ≤ 10 ms ≤ 2s ≤ 30 s

10% 20% 10% 5% 1,5% 46,5%

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

Rts2F.doc

14