kategorie systemów czasu rzeczywistego

Post on 12-Jan-2016

53 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Kategorie systemów czasu rzeczywistego. Podstawowe definicje. Podstawowe definicje. Standard IEEE / ANSI. KOMPUTER. System Czasu Rzeczywistego. Sensory. Otoczenie. Sterowniki. Kategorie SCR. Kategorie SCR. Kategorie SCR. Cechy SCR. Problematyka SCR. Strategia PUSH. - PowerPoint PPT Presentation

TRANSCRIPT

Kategorie systemów czasu rzeczywistego

1. Obliczeniowe systemy komputerowe: przetwarzaniewielozadaniowe i rozproszone.

2. Systemy sterowania przemysłowego i systemydowodzenia: sterowanie procesem technologicznym,procesem wytwarzania, kontrola ruchu lotniczego.

3. Wielododostępne systemy komercyjne i biurowe:systemy bankowe, rezerwacji miejsc lotniczych.

Podstawowe definicje

1. System czasu rzeczywistego (SCR) - systemkomputerowy, w którym obsługiwanie zdarzeńdokonuje się w ustalonych limitach czasu.

2. SCR – system komputerowy, w którym poprawnośćobliczeń zależy nie tylko od logicznej ich poprawności,ale także od czasu w jakim zostanie wyprodukowanywynik.

Podstawowe definicje

3. SCR - system interaktywny, który utrzymuje ciągłyzwiązek z asynchronicznym środowiskiem.

4. SCR odpowiada w sposób przewidywalny (wokreślonym czasie) na zdarzenia napływające w sposóbnieprzewidywalny.

System komputerowy działa w czasie rzeczywistym, jeżeliwypracowane decyzje są realizowane w tempieobsługiwanego procesu.

Standard IEEE / ANSI

System czasu rzeczywistego - system komputerowy, wktórym obliczenia są wykonywane współbieżnie zprocesem zewnętrznym (otoczeniu) w celu sterowania,nadzorowania lub terminowego reagowania na zdarzeniawystępujące w tym procesie.

IEEE - Institute of Electrical and Electronic Engineers,ANSI – American National Standards Institute

System Czasu Rzeczywistego

Sensory

Sterowniki

Otoczenie

KOMPUTER

Kategorie SCR

I. SCR o mocnych wymaganiach czasowych(hard real-time system)

II. SCR o słabych wymaganiach czasowych(soft real-time system)

III. SCR o solidnych wymaganiach czasowych( firm real-time system)

Kategorie SCR

1. System wbudowany (embedded system)

2. System odporny na błędy ( fault tolerant system)

3. System dedykowany (dedicated system)

Kategorie SCR

System wbudowany - system komputerowy, który jestumieszczony w innym systemie stanowiąc jego integralnączęść.

System odporny na błędy - system reagujący na sytuacjewyjątkowe, kontynuuje pracę stosując zamiennikiuszkodzonych elementów lub zmniejszając swoją pierwotnąfunkcjonalność.

System dedykowany - system o jednostkowej funkcjona-lności, zaprojektowany z myślą o ściśle określonymspecjalizowanym zastosowaniu.

Cechy SCR

1. Współbieżność ( concurrent),

2. Punktualność ( punctuality),

3. Przewidywalność ( predictability),

4. Ciągłość działania ( continuity).

5. Nieprzekraczalność terminu ( deadline).

Problematyka SCR

1. Metody formalne w inżynierii SCR

2. Metody analizy i specyfikacji wymagań

3. Metodyka projektowania oprogramowania SCR

4. Systemy operacyjne czasu rzeczywistego

5. Problemy jakości i bezpieczeństwa SCR

Strategia PUSH

JEDNOSTKA PLANUJĄCO - STERUJĄCA

M M MM

Materiały Sterowanie Informacje

Strategia PUSH

Systemy sterowania oparte na strategii PUSH sąsystemami scentralizowanymi ze zwrotnym sprzęże-niem informacyjnym.

Systemy te mogą być modelowane i analizowane wkategoriach klasycznej teorii szeregowania i rozdziałuzasobów.

Strategia SQUEEZE

JEDNOSTKA PLANUJĄCO - STERUJĄCA

M B MM

Materiały Sterowanie Informacje

Strategia SQUEEZE

Wydajność systemu wytwórczego jest ograniczonaprzepustowością wąskiego gardła - zestawu stanowiskwytwórczych, przez które produkcja się przeciska(squeeze), powodując kolejki zadań.

Strategia squeeze ustala optymalny harmonogram pracystanowisk „wąskiego gardła”, dostosowując harmono-gram pracy pozostałych stanowisk.

Strategia PULL

JEDNOSTKA PLANUJĄCO - STERUJĄCA

M M MM

Materiały Sterowanie Ssanie

Systemy JIT

Zasada wytwarzania na żądanie JIT (Just-In-Time) opartana koncepcji dostarczania wyrobów w potrzebnychilościach dokładnie na wyznaczony czas.

Efektywność strategii JIT :

1. minimalizacja kosztów wytwarzania przez ograniczeniezapasów i powierzchni magazynowych (Zero Inwentory,No- store),

2. optymalizacja środków zaangażowanych w produkcjęw toku (Work in Process),

3. brak czekania (No-wait),

4. przepływ zamówień wg techniki Kanban.

Notacja (trójpolowa)

- opisuje typ systemu i środowisko maszynowe,

- charakteryzuje zadania, dodatkowe zasoby i ogranicze-nia,

- kryterium optymalizacji (wskaźnik jakości sterowania).

= 1 2

1 { PF, F, O, J } { P, G}

2 - parametr określający liczbę maszyn, procesorów.

= 1, 2, 3, 4, 5

1 {, prm}

1 = - zadania niepodzielne (nonpreemptive),

1 = prm – zadania podzielne (preemptive),

4 {rj, }

4 = rj - czas dostępności j-tego zadania ( release).

Dodatkowe zasoby (discretely-additional resources)

2 {, res }

2 = - brak dodatkowych zasobów,

2 = res - dodatkowe zasoby (liczba rodzajów

dodatkowych zasobów, ograniczenia zasobowe,żądania zasobowe).

{ , k}

= k

- k rodzajów dodatkowych zasobów,- k jednostek każdego rodzaju,- żądania zasobowe każdego zadania nie przekraczają

k jednostek każdego zasobu.

=

Liczba rodzajów zasobów, ograniczenia oraz żądaniazasobowe są dowolne.

Wymagania kolejnościowe zadań.

3 {, prec, tree, chain }

prec – dowolny graftree – drzewo (in-tree, out-tree)chain - łańcuch

in–tree out–tree

Parametry zadania

Si – termin rozpoczęcia wykonywania zadania,

Ci – termin zakończenia wykonywania zadania ( completiontime),

pj – czas wykonywania zadania (processing time),

ri – najwcześniejszy możliwy termin rozpoczęcia wykonywaniazadania (release time),

di - żądany termin zakończenia wykonywania zadania (duedate, deadline).

Parametry zadania

Li = Ci – di – opóźnienie zadania ( Lateness),

Ti = max[0, Ci – di] – spóźnienie zadania (Tardiness),

Ei = max[0, ri – Si] – przyspieszenie zadania (Earliness).

Kryteria optymalizacji

1. Długość uszeregowania (maksymalny czas wykonania zbioruzadań), ( maximum completion time, makespan)

Cmax = max j=1,...,n {Cj}

2. całkowity (łączny) czas zakończenia zadań:

C = j=1,...,n Cj

3. Średni czas przepływu

F = 1/n j=1,...,n Fj

gdzie: Fj = Cj – rj

Kryteria optymalizacji

4. Maksymalne opóźnienie

Lmax = m a x j=1,...,n {Lj}

5. Maksymalne spóźnienie

Tmax = max j=1,...,n {Tj},

6. Całkowite spóźnienie

T = j=1,...,n Tj,

7. Ważone spoźnienie poprzez wprowadzenie wag dla zadań

wT = j=1,...,n wjTj

Zależności między kryteriami

wi Ti

Lmax

wi Ci Ti

Ci

Cmax

Kryteria 1, 2 są w relacji 1 2 jeśli rozwiązanie problemu z kryterium 2 dostarcza rozwiązania problemu z kryterium 1.

System permutacyjny (PF, Permutation Fow-shop)

1 2 m

Przepływ zadańStanowisko obsługiMaszyna

System (F, Flow-shop)

Przepływ zadańStanowisko obsługiMaszyna

1 2 m

System gniazdowy (J, Job-shop)

Przepływ zadań Stanowisko obsługiMaszyna

1 2 m

System równoległy (P, Parallel-shop)

Przepływ zadań Stanowisko obsługiMaszyny

System gniazdowy równoległy

Przepływ zadań Stanowisko obsługiMaszyny

Typy zagadnień szeregowania

1. F - zagadnienie przepływowe ( Flow-shop problem),

2. PF - permutacyjne zagadnienie przepływowe ( permuta-tion flow-shop problem),

3. O - zagadnienie otwarte (Open- shop problem).

4. J - zagadnienie gniazdowe (Job-shop problem),

5. G - zagadnienie ogólne (General-shop problem),

6. P - zagadnienie z równoległymi maszynami ( Parallel-shop problem),

Algorytm Johnsona O(nlogn)

Specyfikacja algorytmu.

1. Utwórz dwa rozłączne podzbiory zadań: A={Z i: pi1pi2,

i=1,2,...,n} oraz B={Zi: pi1>pi2, i=1,2,...,n}. Zadania ze zbioru Auszeregowane wg niemalejących wartości p i1 tworząpermutację

A, zadania ze zbioru B uszeregowane wgnierosnących wartości p i2 tworzą permutację

B.

2. Permutacja * będąca konkatenacją < A B> jest optymalną

permutacją zadań:

Cmax(*) = m i n Cmax() *

Problem PF3|P2, no-bottl.|Cmax

Istnieje optymalna kolejność wykonywania zadań dlaproblemu PF3|P2,no-bottl.|Cmax z czasami pi1, pi2, pi3

wykonywania zadań Z iZ, taka jak optymalna kolejność dla

problemu PF2 Cmax z czasami:

p'i1= pi1 + pi2,

p'i2= pi2 + pi3

przy założeniu, że:

min {pi1} max {pi2} albo min {pi3} max {pi2} i i i i

Algorytm Johnson O(nlogn)

Specyfikacja algorytmu.

1. Dla ZiZ wyznaczyć:

- p'i1= pi1 + pi2

- p'i2= pi2 + pi3

2. Znaleźć optymalną permutację * dla zagadnienia:

PF2 Cmax

z czasami wykonywania p'i1 oraz p'

i2 dla zadań Z iZ.

Permutacja * jest również optymalną permutacją dla

zagadnienia:

PF3|P2, no-bottl.|Cmax

Zadania podzielne. Procesory równoległe

Problem: P| prm |Cmax.

Algorytm McNaughtona (złożoność O(n))

1. Wyznacz wartość (minimalną długość uszeregowania) :C*max = max {max j=1,...,n {pj}, j=1,..n pj/m},

Podstaw t = 0.

2. Wybierz dowolne nieuszeregowane zadanie i rozpocznijjego wykonywanie na tym samym procesorze copoprzednie zadanie. Po osiągnięciu t=C* max jeślizadanie nie zostało zakończone przerwij go i kontyuujna wolnym procesorze, podstaw t=0. Punkt 2 powtarzajaż wszystkie zadania zostaną uszeregowane.

Zadania podzielne. Procesory równoległe

I. n=5, m=3, {pj}={36 4 1 3}

C*max = max {max j=1,...,n {pj}, j=1,..n pj/m}=max{17/3, 6} =6

2 640

P1

P2

Z5

Z3

P3 Z3 Z4

Z2

Z1 Z2

2 640

P1

P2

Z4

Z3

P3 Z3

Z2

Z1 Z2

Z5

II. {pj}={4 5 4 3 2}

Jeżeli C*max = j=1,..n pj/m wówczas wszystkie procesory

kończą pracę równoczesnie.

Zadania podzielne. Procesory równoległe

Problem: P| |Cmax.

Algorytm LPT (Longest Processing Time)

1. Przydziel aktualnie woly procesor do nieuszeregowanego zadaniao najdłuższym czasie wykonania.

Oszacowanie będu w najgorszym przypadku:

CLPTmax / C

*max 4/3 – 1/(3m)

Średnia dokładność algorytmu jest znacznie lepsza.

2 640

P1

P2 Z5Z3Z2

Z1 Z4 Z6

8 10

Zadania zależne. Procesory równoległe

Problem P|pi=1,in–tree|Cmax

Algorytm Hu, złożonośc O(n).

1. Określ poziomy zadań.

2. Jeśli liczba zadań bez poprzedników jest mniejsza lub równam, to przydziel tym zadaniom procesory, przejdź do 3.W przeciwnym przypadku wybierz spośród nich m zadań onajwyższych poziomach i przydziel im procesory.

3. Usuń wybrane zadania z grafu. Powtarzaj 2 dopóki wszystkiezadania nie zostaną wykonane.

Algorytm Hu, Przykład

1

2

3

4 Z1 Z2Z3 Z4

Z5Z6 Z7

Z8 Z10

Z11

Z9

2 640

P1

P2Z2

Z1

Z4

Z3

Z6 Z8

Z5 Z7 Z9

Z10

Z11

Zadania niezależne, procesory równoległe

Problem:

P | | Ci

Cmax

Algorytm RPT (Reverse Processing Time), algorytm przybliżony.

1. Zastosuj szeregowanie LPT.

2. Na każdym procesorze uszereguj zadania według SPT.

P1

P2

P3

LPT

P1

P2

P3

RPT

Dokładność: 1 Ci (RPT) / Ci* m

Reguła EDD (Earliest Due Date)

Reguła EDD – szeregowanie w kolejności niemalejącychwymaganych terminów deadline.

d2

Z1 Z2

d1

EDD

d2

Z2 Z1

d1

Problem:

1| |Lmax

Istnieje rozwiązanie optymalne problemu, w którym zadania sąwykonywane w kolejności niemalejących wartości d j.

Algorytm:

1.Reguła EDD.

Zadania niezależne, przerywalne.

Problem:1 |ri, prm |Lmax

Algorytm Liu oparty na regule EDD, złożoność O(n 2)

1. Spośród dostępnych zadań przydziel procesor (zwywłaszczeniem zadania) temu, które ma najbliższywymagany termin zakończenia,

2. Jeśli zadanie zostało zakończone lub przybyło nowewróć do 1.

Zadania zależne, przerywalne.

Problem:1| rj , prm, prec |Lmax

Algorytm: zmodyfikowany algorytm Liu, złożoność O(n 2).

1. Określ zmodyfikowane terminy zakończenia zadań:

dj*=min{dj, min{di:ZjZi}}

2. Przydziel procesor dostępnemu zadaniu Z j, które manajmniejszą wartość d j

*. Wykonuj je tak długo, dopóki albojego wykonanie się nie zakończy, albo nie stanie siędostępne zadanie Z k, dla którego dk

*< dj*, wtedy przerwij

wykonywanie zadania Zj.

3. Powtarzaj punkt 2 dopóty, dopóki wszystkie zadania niezostaną wykonane.

Zadania zależne, procesory równoległe.

Problem:P| pj=1, in–tree | Lmax

Algorytm Bruckera O(nlog n).

Oznaczmy przez next(j) - bezpośredni następnik zadania Z j.

1. Podstaw droot*=1–droot

2. Dla zadania Zj, j=2,3,..,n wyznacz zmodyfikowane terminyzakończenia:

dj* = max{1+dnext(j)*, 1–dj}

3. Uszereguj zadania w kolejności nie rosnących wartości ichzmodyfikowanych terminów zakończenia, uwzględniającograniczenia klejnościowe.

-6*, 7

Przykład P| pj=1, in–tree | Lmax

-1*, 3

-2*, 3

0*, 4

Z1 Z2 Z3

Z5 Z6

Z7Z8

Z10

Z9

Z4

-5*, 6

-4*, 5

-1*, 2

0*, 2

0*, 2

-1*, 4

dj*, dj 2 40

P2

P3Z3

Z2

Z6

Z5 Z7

Z9Z1P1Z4 Z8

L*max= 0

Z10

Zadania niepodzielne, dodatkowe zasoby

ProblemP rj, pj=1, res11 Cmax.

Algorytm, złożoność O(n).

1. t=0, k=0.2. Przydziel w chwili t do wolnego procesora dostępne zadanie Z j,

dla którego R(Zj)=1, podstaw k=k+1.Powtarzaj ten punkt dopóty, dopóki albo k= R , albo niebędzie zadania żądającego zasobu.

3. Przydziel do pozostałych wolnych procesorów w chwili t,dostępne zadania, dla których R 1(Zi)=0. Podstaw t=t+1 orazk=0 i powtórz pkt.2 jeśli są jeszcze nieprzydzielone zadania.

Przykład Ppodz, res11Cmax

Zj Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8

R(Zj) 1 0 1 0 1 1 0 1

rj 4 2 3 5 7 2 1 5

2 40

P2

Z4

Z5

Z1P1

Z7

6 8 10

Z6 Z8

Z3

Z2

Z5

P3

Cykliczny algorytm FIFO

Technika szeregowania FIFO (First in First Out) lubFCFS (First Come First Served) oznacza obsługę wkolejności zgłoszeń.Zadania mogą być wykonywane z przerwaniami,realizowanymi przez podział czasu ( Time Sharing)według strategii RR (Round Robin).

Struktura kolejki w algorytmie cyklicznym

1

2

3

46

5

7 Kierunekobsługi

Cykliczny algorytm LIFO (Last in First Out)

Kolejka

Stanowisko obsługi

Zadania przerwane

Zadania zakończone

Cykliczny algorytm SS (Selfish Scheduling)

Algorytm SS - uogólnienie algorytmów FIFO, LIFO.

Podział zadań na dwa podzbiory:

1. Zadania oczekujące,

2. Zadania wykonywane.

System obsługi wg. algorytmu SS

Kolejka System kolejek

Stanowiskoobsługi

Zadaniawykonane

Podstawowy algorytm szeregowania

Nowezadania

Zadania oczekujące Zadania wykonywane

Szeregowanie zadań cyklicznych:

1. Statyczne: PAP (Plan Aktywacji Procesów) -określa zadanie, które w danej chwili ma być wykonane.Implementacja PAP: Tablica, lista.

2. Dynamiczne: Strategia (np. „Najwcześniejsza liniakrytyczna najpierw”).

Z = {Z1, Z2, ..., Zn} - zadania cykliczne;

= {1, 2, ..., m} – okresy czasowe zadań;

H - Horyzont czasowy, (najmniejsza wspólna wielokrotnośćokresów 1, 2, ..., m).

Binaryzacja okresów zadań

{1,..., i, ..., m} {p1,..., pi, ..., pm: pi i, pi =p02k(i)}

[p0: 2k(1), 2k(2), ..., 2k(m)] – Binaryzacja okresów zadań

p0 - okres bazowy,

2k(1), 2k(2), ..., 2k(m) - wielokrotności binarne.

Dla: p1=16, p2=32 p3=128, p4=256;

B: [16: 1, 2, 8, 16].

Binaryzacja niezdominowana

J = {J1, J2, J3, J4, J5},

T1: 1=10, t1=1,

T2,T3, T4, T5: 2=30, t2= t3= t4= t5=6,

B1: [7: 1, 4],

H = 28

T1 T2 T1 T3 T1 T4 T1 T5

1 7 8 14 15 21 22 28

Uszeregowanie dopuszczalne dla binaryzacji B1: [7: 1, 4]

Binaryzacje niezdominowane

Dane: Sekwencja oryginalnych okresów zadań

P=(1, 2, ..., m) ; 0 < 1

2 ..., m.

Wyniki: Zbiór E = {[p0: 2k(1), 2k(2), ..., 2k(m)]} binaryzacji

niezdominowanych.

1. Wyznacz następujące wartości początkowe:

min = 1/2;

max = 1, E = 0;

2. Dla każdego elementu i należącego do sekwencji P

wykonaj:

2.1. Znajdź taką wartość k N, że min< i/2

k max.Niech p0 = i/2

k,

2.2. Do zbioru E dodaj binaryzację:

[p0: v(1, p0), v(2, p0), ..., v(m, p0)]

gdzie: v(a, b) = max {2q: b 2q a} i 2q N.

Komunikacja między zadaniami

Komunikacja między zadaniami ( ITC, Inter Task Commu-nication) - zestaw mechanizmów przekazywania informacjimiędzy zadaniami.

Aspekty komunikacji:

1. Niezawodność,

2. Zawartość,

3. Prędkość,

4. Przenośność.

Kolejki komunikatów

Kolejka zadańodbierających

Kolejka zadańwysyłających

Blok kontrolny kolejki

Długość kolejki

Rozmiar wiadomości

Elementkolejki

Kolejki komunikatów

Bufor zadaniaodbierającego

Bufor zadaniawysyłającego

Jednokierunkowa komunikacja

Kopia I Kopia II

Semafor

Semafor (semaphore) – narzedzie synchronizacji,

Semafor – zmienna całkowita, na której mogą być wykonywaneoperacje:

- Inicjalizacja,

- Czekaj (ang. wait, holend. proberen),

- Sygnalizuj (ang. signal, holend. verhogen),

Stosowane typy semaforów:

- Semafor zliczajacy (counting semaphore),

- Semafor binarny (binary semaphore),

- Muteksy (mutual exclusion semaphores).

Rejestry zdarzeń. Flagi zdarzeń.

OR /AND

0 00 1 0 0 01

ZAD1ZAD2

Ustawienie flag zdarzeń

ZAD3

Użycie rejestru i flag zdarzeń

Potoki

Potoki (pipes) - (wirtualne urządzenia we-wy), służą doprzechowywania danych bez struktury.

ZAD.CZYTAJĄCE

ZAD.PISZĄCE DANE

POTOK

DeskryptorDeskryptor

Zakleszczenie (deadlock)

KOLEJKA(pusta)

ZADANIE 2(czeka na semafor)

SEMAFOR

ZADANIE 1(czeka na dane,posiada semafor)

Przeterminowanie (starvation)

KOLEJKA

ZADANIE 2

SEMAFOR

ZADANIE 1 ZADANIE 3

Inwersja priorytetów (priority inversion)

ZAD1

ZAD2

ZAD1

ZAD2

ZAD1NISKI

WYSOKI

Priorytet

t1t2 t3 t4 t5

Inwersja priorytetów

Inwersja priorytetów

NISKI

WYSOKI

Priorytet

t1 t2t3 t6 t7

Inwersja priorytetów

t4 t5

Nieznany czas

Usługi jądra systemu czasu rzeczywistego

1. Zarządza czasem procesora,2. Udostępnia usługi (odczyt czasu systemowego,

przesyłanie komunikatów, zawieszenie,synchronizację, wzajemne wykluczanie),

3. Zapewnia wykonanie zadania o krytycznych ogranicze-niach czasowych,

4. Tworzy zadanie (stan uśpienia stan gotowy),

5. Obsługuje listę zadań gotowych do wykonania,

6. Upraszcza proces projektowania,

Jądro z wywłaszczaniem

ZADANIE A 1 7

3

5

2IRS

4ZADANIE B

6

Czas

wykonanie

Stany zadania

1. Uśpione ( dormant),

2. Gotowe do wykonania (ready),

3. Wykonywane (executed),

4. Oczekujące na określony czas ( delayed),

5. Oczekujące na zdarzenie ( waiting for an event),

6. Przerwane (interruped).

ZADANIE 1

Stos

STATUS

Wskaźnikstosu

Priorytet

TCB TCB

. . .

Wskaźnikstosu

Kontekst

Pamięć

CPU Rejestry CPU

ZADANIE n

Stos

STATUS

Wskaźnikstosu

Priorytet

Przełączanie kontekstu

1. Przechowanie zawartości rejestrów procesora(kontekstu),

2. Zachowanie wskaźnika szczytu stosu,

3. Załadowanie wskaźnika stosu nowego zadania,

4. Załadowanie rejestrów procesora kontekstem zadaniaprzejmującego kontrolę nad procesorem.

Cechy systemu VxWorks

1. Szeregowanie zadań:

Algorytm: z wywłaszczeniem (256 poziomów priorytów),karuzelowy.

2. Komunikacja między zadaniami:

Kolejki komunikatów, współdzielona pamięć, dziedziczeniepriorytetów, semafory: binarne, całkowite, wzajemnegowykluczania.

3. Sieć:protokół TCP/IP, zdalny dostęp, zdalne wykonywaniekomend (rsh), sieciowy system plików NFS, usługi ftp,klient-serwer.

4. Zgodność ze standardem: POSIX, ANSI C i C++.

5. Dodatkowe pakiety:Środowisko graficzne, rozszerzona obsługa pamięci,rozszerzenie o wielopocesorowość, wirtualna maszynaJavy.

Stany zadania VxWorks

1. Zawieszone (suspended),2. Oczekujące na określony czas ( delayed),3. Wstrzymane na dostęp do zasobu ( pended),4. Gotowe do wykonania (ready),5. Wykonywane aktualnie na procesorze (executed).

GOTOWE

WYKONYWANE

OCZEKUJĄCEWSTRZYMANE

ZAWIESZONE

Mechanizmy Komunikacji między zadaniami

1. Wspólna pamięć,

2. Semafory,

3. Kolejki komunikatów,

4. Potoki,

5. Procedury zdalnie wywoływane RPC ( RemoteProcedure Calling),

6. Sygnały.

Współdzielona pamięć, wzajemne wykluczanie

ZADANIE 1

ZADANIE 2

ZADANIE 3Wsp_Dane

PAMIĘĆ

Techniki wzajemnego wykluczania:

1. Wyłączenie przerwań,

2. Wyłączenie wywłaszczania,

3. Blokada zasobów semaforami.

Semafory VxWorks

1. Binarne – zoptymalizowane do synchronizacji i wzajemnegowykluczania,

2. Wzajemnego wykluczania – binarne, optymalne ze względuna dziedziczenie priorytetów i ochronę przed usunięciem,

3. Całkowite – pamiętające ilość pobrań semafora, optymalneze wzgędu obsługę urządzeń.

Funkcje obsługi semaforow:

tworzenie, pobieranie, inicjalizowanie i usuwaniesemaforów, odblokowywanie zadań oczekujących nasemafor.

Inwersja priorytetów

Zadanie C

Priorytet

Zadanie A

Zadanie B

czasw posiadaniu semafora

wywłaszczenie blokada

pobranie semafora

oddaniesemafora

Dziedziczenie priorytetów

Zadanie A

Zadanie B

czasw posiadaniu semafora

wywłaszczenie blokada

pobranie semafora

C

A C A

B

oddanie semafora

dziedziczenie priorytetu

Zadanie C

System RTLinuks

1. Algorytm szeregowania z podziałem czasu,

2. Rozdzielczość (niska) zegara systemowego (100 MHz),

3. Niewywłaszczalność wywołań systemowych,

4. Mechanizm pamięci wirtualnej (chybienie z cacheopóźnia dostęp do pamięci),

5. Dążenie do optymalnego wykorzystania zasobów,

6. Wyłączenie przerwań sprzętowych w sekcjachkrytycznych jądra.

Systemy KURT, MERT

KURT, MERT – modyfikacje Linuksa.

System KURT o łagodnych ( firm) ograniczeniach czasowych:

1. Wywłaszczające szeregowanie procesów o stałym

priorytecie,

2. Zwiększenie rozdzielczości zegara systemowego.

System MERT (Bell Labs, w 1970) o twardych wymaganiach:

1. Oddzielne mechanizmy systemu operacyjnego czasurzeczywistego i systemu operacyjnego ogólnegozastosowania

Cechy systemu RTLinuks

1. Rozdział mechanizmów s.o. czasu rzeczywistego i s.o.ogólnego przeznaczenia,

2. Jądro Linuksa jest zadaniem najniższego priorytetu ( idletask),

3. Warstwa emulacji kontroli przerwania sprzętowego,

4. Przerwania najpierw są obsługiwane przez jądroRTLinuksa,

5. Kolejkowanie przerwań przeznaczonych dla Linuksa,

Architektura systemu RTLinux

Drivery Linux

Funkce systemowe, POSIX

RT-LinuxScheduler

Zadanieczasu rzecz.

Zadanieczasu rzecz.

Sprzęt

we/wyPrzerwania

Zwykłe procesy Linuksa

Zadania RTLinuksa

1. Dostarczenie bezpośredniego dostępu do sprzętu dlawątków czasu rzeczywistego,

2. Szeregowanie,

3. Udostępnienie mechanizmów odmierzania czasu,

4. Komunikacja międzyprocesowa.

Szeregowanie i komunukacja w RTLinuksie

1. Algorytm priorytetowy (RMS, Rate Monotonic SchedulingAlgorithm),

2. Algorytm EDF (Earliest Deadline First) - oparty nanajwcześniejszym czasie wznowienia.

Mechanizmy komunikacji:

1. Kolejki czasu rzeczywistego (RT-FIFO),

2. Pamięć dzielona.

Architektura systemu QNX

Poziomy uprzywilejowania:

Poziom 0 – mikrojądro,

Poziom 1 – zadania systemowe,

Poziom 2 – (nie jest wykorzystywany),

Poziom 3 – zadania aplikacyjne.

MIKROJĄDRO

Zadania (procesy ) systemowe

Zadania (procesy) aplikacyjne

Poziom zadań

Poziom jądra systemu

Zadania (procesy) systemowe QNX

1. Menedżer procesów ( PM, Process Manager) – tworzy i usuwaprocesy (zadania), nadzoruje czas.

2. Menedżer plików ( FM, Filesystem Manager) – organizuje systemplików,

3. Menedżer urządzeń ( DM, Device Manage) – formatuje strumieniedanych przekazywane miedzy zadaniami i urządzeniamizewnętrznymi,

4. Procesy sterujące urządzeniami ( DD, Device Drivers)

5. Administrator sieci (NM, Network Manager) – obsługuje łączesieciowe i komunikację węzłów sieci.

Funkcje mikrojądra QNX

1. Szeregowanie zadań ( Scheduler),

2. Komunikacja między zadaniami ( InterprocessCommunication),

3. Komunikacja między zadaniami w obrębie sieci lokalnej(Network Interface),

4. Przyjmowanie zgłoszeń przerwań (bez obsługi) ( InterruptRedirector).

Struktura mikrojądra QNX

Mechanizmy komunikacji (IC)

Interfejs sieciowy (NI)

SCHEDULER

Przekierowania przerwania (IR)

Przerwania Zarządca sieci (NM)

ZAD ZAD

Zadania (procesy) systemowe

Send

Receive

ReplyG

WM

Z

ZReceive

ZSend

Diagram przejść między zadaniami

Stany zadania:

- Gotowe G (ready),

- Wykonywane W (run),

- Zawieszone Z, ZSend, ZReceive

- Martwe M (dead).

Szeregowanie, komunikacja i synchronizacja

Mechanizmy komunikacji:

1. Wiadomości (synchroniczny przekaz wiadomości,message),

2. Depozyty (asynchroniczny przekaz stałych wiadomości,proxy),

3. Sygnały (sygnalizacja zdarzeń, signal).

Strategie szeregowania:

1. FIFO,

2. Karuzelowy (Round Robin),

3. Adaptacyjny (Adaptive scheduling).

Wiadomości

Mr

M

Zadanie T1 Zadanie T2

Send( T2, M, Mr )

Receive(M )

Reply(Mr)

Implementacja spotkania

Funkcje systemowe:

- Send( T2, M, Mr ) – wysyłanie,

- Receive(M ) - odbieranie wiadomości,

- Reply(Mr) – przekazanie odpowiedzi.

Depozyty (Proxy)

DEPOZYTProces

Widomość

ProcesWidomość

Widomość

1. Przekazywania wiadomości o zdarzeniach,2. Przekazywanie sygnałów synchronizujących.

Depozyt - odrębny proces, przypisany do procesu właściciela iprzechowujący jedną ustaloną wiadomość.

Sygnały

Sygnały - przerwania programowe generowane przezprogramy jądra systemu, procesy systemowe lub procesyaplikacyjne w chwili wystąpienia sytuacji nienormalnej.

Kategorie sygnałów:

1. Błąd operacji zmiennoprzecinkowej,

2. Naruszenie ochrony pamięci,

3. Przeterminowanie operacji,

4. Żądanie awaryjnego zakończenia zadania.

Komunikacja w sieci

P VQSend ( )

ZAD

VP QReceive ( )

ZAD

Zadania wirtualne

Węzeł sieci Węzeł sieci

Automatyczne przekazanie wiadomości przez połączenie

QNX Neutrino

Ochrona pamięci

Ochrona pamięci

System plików AplikacjaObsługa we-wy Podsystem graficzny

Mikrojądro NEUTRINO

Procedury obsługi urządzeń

Procedury obsługi sieci

Procedury obsługi grafiki

SPRZĘT

Zastosowanie

1. Systemy sterowania i monitorowania: procesy przemysłowe,technologiczne, śledzenie ruchu pociągów.

2. Przetwarzanie w trybie online: bankomaty, karty kredytowe,

3. Systemy bezwzględnego nadzoru: procesy chemiczne.

NASA, Hewlett Packard, Intel, Ford, Goodyear.

Standard POSIX

Portable Operating System Interface for ComputingEnvironments

Uwarunkowania:

1. Projektowana aplikacja jest wynikiem pracyzespołowej,

2. Aplikacje wykorzystują wielorakie programyużytkowe,

3. Długi cykl życia aplikacji wymagającej aktualizacji imodyfikacji.

Standard POSIX

Jednoznacznie określa sposoby realizacji kluczowych funkcjisystemu operacyjnego:

1. Zarządzanie procesami,

2. Operacje na plikach,

3. Obsługę przerwań sprzętowych,

4. Sterowanie urządzeniami.

Standard Nazwa

1003.1b Real-time Extensions

1003.1d Additional Real-time Extensions

1003.1j Advanced Real-time Extensions

1003.21 Distributed Real-time

Sieci Petriego

Zastosowania:

1. Projektowanie i specyfikacja systemów,2. Analiza poprawności oprogramowania (weryfikacja,

walidacja),3. Ocena wydajności i niezawodności systemów.

Cechy, istotne z punktu widzenia opisu SCR:

1. Wyrażanie czasu i zależności czasowych,

2. Przejrzysta reprezentacja współbieżności i synchronizacji,

3. Możliwości agregacji sieci: sieci wyższego poziomu(kolorowane).

Konwencje graficzne

Sieć Petriego - dwudzielny graf, w którym wyróżnia sięrozłączne podzbiory wierzchołków: miejsc i przejść.

p1 p2

p3

t2t1

Sieć Petriego PN jest uporządkowaną czwórką :

PN = (P, T, F, W)

P=(p1,p2,...,pn) – skończony zbiór miejsc ( places),

T=(t1,t2,...,tm) - skończony zbiór przejść ( transitions),

F(PxT)(TxP) - zbiór łuków,

W: F N\{0} – funkcja krotności (waga) łuku,

N - zbiór liczb naturalnych.

Znakowanie sieci.

Znakowanie sieci M: P N.

Wartość M(p i) wyraża liczbę znaczników ( markers) w miejscu pi.

Znakowana sieć Petriego MPN (Marked Petri Net) jest parą:

MPN = (PN, M0)

M0: P N - znakowanie początkowe ( Initial marking).

Realizacja przejścia

t1

p1 p2

p4

p3

p5

3

2

p1 p2

p4

t1

p3

p5

3

2

1. Realizacja przejścia ( firing of transition) - pobranieznaczników z miejsc wejściowych danego przejścia iwstawienia do miejsc wyjściowych.

2. Ilość znaczników pobieranych jest określona przez wagiodpowiednich łuków.

Własności dynamiczne sieci

Sekwencją palenia nazywamy sekwencję przejść = ti1, ..., tis

dla której istnieją znakowania M p, Mp+1, ..., Mp+s spełniającewarunek:

Mp [ti1]

Mp+1,…, Mp+s-1 [tis]

Mp+s

Mp []

Mp+s

Znakowanie Mp+s nazywamy znakowaniem osiągalnym zeznakowania Mp.

Sieć MPN jest żywą ( Liveness), jeśli dla każdegoznakowania M osiągalnego ze znakowania początkowegoM0 i dla każdego przejścia t istnieje sekwencja paleniaumożliwiająca palenie przejścia t.

Czasowe sieci Petriego

Czasowa, znakowana sieć Petrego TMPN (Timed MarkedPetri Net) jest parą

TMPN = ( MPN, )

: T R+, (R+- jest zbiorem nieujemnych liczb rzeczyw.).

Sposoby reprezentacji czasu poprzez:

a) przejścia,

b) miejsca.

Interpretacja miejsc i przejść

Miejsca wejściowe Przejścia Miejsca wyjściowe

Zasoby żądane Operacja, zadanie Zasoby zwalniane

Dane wejściowe Obliczenia Wyniki

Prewarunki Zdarzenie Postwarunki

Sygnały wejściowe Przetwarzanie Sygnały wyj ściowe

Model automatu obsługującego sprzedaż

wait

5 10

5 10

5 10

5

5

15 20

Automat akceptuje monety 5 i 10 zł. oraz sprzedaje dwarodzaje produktów w cenie po 15 i 20 zł.

Model procesów współbieżnych

ParBegin

t1

p2

ParEnd

p1

p3p4

t2

t0

t3

p0

Model protokołu z potwierdzeniem

Received

Receive

Sender

ReceiverMess_Buff

Ack_Buff

Ready

Waitfor ack Send

ack

Sendmess

Ready

Komunikacja za pomocą ograniczonego bufora

producer

consumer

p

k

p’

Synchronizowany dostęp do obszaru krytycznego

p1

p3

p0

t2

t1 t3

t4

p2 p4

Ms(p2) = Ms(p4) = 1

Ms(p2) + Ms(p4) 1

Sieciowy model procesu cyklicznego

tk i tk i + 1 pkb

pkc

proces k

Operacja oki(h) tranzycja tk

i T

Czas wykonania operacji oki(h) czas palenia tranzycji t =

T(t)

Czasowy znakowany graf TMG (Timed Marked Graph):

pP p=1 and p=1

Sieciowy model procesu cyklicznego

process k

..

....

pc

ps

Cykliczne procesy współbieżne

process 1

process k

process n

Czas cyklu

Niech będzie sekwencją wzbudzeń

={<ti; si(1), si(2),...,,si(v),...>: tiT}

gdzie: si(v) - jest chwilą w której tranzycja ti inicjuje v-te palenie.

Liczba C() jest czasem cyklu sieci, jeżeli istnieje sekwencja wzbudzeń ( jest zbiorem możliwych sekwencji wzbudzeń), dla której znakowanie sieci M jest równe znakowaniu początkowemu M0 w chwilach kC(), k=1, 2, ... .

C*=C(*)=min {C()}.

top related