wyklad1 4

background image

Systemy czasu rzeczywistego

Trzy składowe nazwy "system czasu
rzeczywistego"

•System
•Czas
•Rzeczywisty

background image

Systemy czasu rzeczywistego

Zasadniczo rozróżniamy dwa typy systemów
czasu rzeczywistego:

systemy z twardymi ograniczeniami czasowymi
(hard real time)

systemy z miękkimi ograniczeniami czasowymi (soft
real time)

background image

Systemy czasu rzeczywistego

W przypadku systemów czasu rzeczywistego system

musi zapewniać mechanizm, który sprawdza, czy każde

nowe zadanie dostarczone do systemu ma szansę

wykonać się w terminie nie zaburzając terminów

innych zadań oraz tak przydzielać procesor do zadań

już złożonych, aby zagwarantować dotrzymanie przez

te zadania ich terminów.

background image

Systemy czasu rzeczywistego

Jest sprawą oczywistą, że aby poprawnie zaprojektować

system czasu rzeczywistego musimy znać metody

planowania zadań i gwarantowania terminów.

Te metody stanowią teoretyczną podbudowę i muszą

być znane i rozumiane przez każdą osobę która

będzie zajmować się projektowaniem takich systemów.

Tej tematyce jest poświęcony wykład.

background image

Typy systemów sterujących

•Systemy monitorujące

•Systemy kontrolne bez sprzężenia zwrotnego

•Systemy kontrolne ze sprzężeniem zwrotnym

Kontroler RT

Kontrolowany

system

Środowisko

Input

background image

Systemy monitorujące

Środowisko

System RT

Użytkownik

Display

Sensor

Sensor

Sensor

background image

Systemy bez sprzężenia zwrotnego

System RT

Środowisko

Aktuator

Aktuator

Dane

użytkownika

Odczyty

sensorów

background image

Systemy ze sprzężeniem zwrotnym

System RT

Środowisko

Aktuator

Sensor

Dane

użytkownika

background image

Systemy ze sprzężeniem zwrotnym

Poprawny dobór parametrów czasowych jest kluczowy
dla

poprawnego działania systemu.

Przykład:

Ramię robota przesuwane z położenia 0 do położenia 1,
prędkość w punkcie 1 ma być równa 0.

Położenie x=1-exp(-t), t – czas

Prędkość v=exp(-t)

background image

Systemy ze sprzężeniem zwrotnym

Położenie x=1-exp(-t), t – czas

Prędkość v=exp(-t)

Sensor odczytuje z okresem T położenie x ramienia i na
tej podstawie oblicza prędkość, z jaką należy przesuwać
ramię.

Faktycznie obliczane jest np. napięcie podawane na silnik
krokowy napędzający ramię robota, im większe napięcie
tym większa prędkość.

Czy dla każdego T można wysterować ramię robota?

Sprawdzić przykład w Excelu uwzględniając czas
hamowania.

background image

Systemy ze sprzężeniem zwrotnym

Z drugiej strony zbyt częste próbkowanie nie ma sensu:

Przykład: nieustalone stany mechanicznych
przełączników

Częstość próbkowania sygnału może być określona z
wykorzystaniem tw. Nyquista.

background image

Systemy ze sprzężeniem zwrotnym

W niektórych przypadkach nawet poprawne
zaprojektowanie systemu może nie zapewnić jego
kontroli.

Przykład: system używany niezgodnie z przeznaczeniem

background image

Systemy ze sprzężeniem zwrotnym

System wizyjny pociągu

background image

Systemy czasu rzeczywistego

Systemy czasu rzeczywistego, to systemy, przy

konstrukcji których poważnie bierze się pod
uwagę prawa Murphi’ego.

Wymagania:

Spełnienie wymagań czasowych

Projektowany do spełnienia funkcji przy
maksymalnym możliwym obciążeniu

Przewidywalność (co się stanie w momencie
przeciążenia)

Odporność na błędy softwarowe i hardwarowe

Modularna struktura

background image

Systemy czasu rzeczywistego

Tak więc podstawową cechą systemów czasu
rzeczywistego jest przewidywalność.

Po złożeniu zadania i zaakceptowaniu go przez system
czasu rzeczywistego mamy gwarancję, że zadanie
zostanie wykonane w określonym terminie.

Faktycznie chcielibyśmy, aby systemy czasu
rzeczywistego były niezawodne nawet w
przypadku awarii sprzętu lub oprogramowania.

Spełnienie tego wymagania jest możliwe poprzez
zapewnienie nadmiarowego sprzętu uruchamianego w
przypadku awarii sprzętu podstawowego poprzez
składową systemu tzw. watchdoga.

background image

Systemy czasu rzeczywistego

Tak więc podstawową cechą systemów czasu
rzeczywistego jest przewidywalność.

Po złożeniu zadania i zaakceptowaniu go przez system
czasu rzeczywistego mamy gwarancję, że zadanie
zostanie wykonane w określonym terminie.

Faktycznie chcielibyśmy, aby systemy czasu
rzeczywistego były niezawodne nawet w
przypadku awarii sprzętu lub oprogramowania.

Spełnienie tego wymagania jest możliwe poprzez
zapewnienie nadmiarowego sprzętu uruchamianego w
przypadku awarii sprzętu podstawowego poprzez
składową systemu tzw. watchdoga.

background image

Systemy czasu rzeczywistego

Aby analizować planowalność dla określonego
zbioru zadań musimy najpierw przyjąć jakiś
model systemu czasu rzeczywistego.

Składowe systemu:

•zadania periodyczne
•zadania sporadyczne
•zadania aperiodyczne

background image

Parametry czasowe zadań

Parametry czasowe zadań:

•czas złożenia (arrival time) a

•czas wykonania (computation time) C

•termin (deadline) d

•względny termin D

•czas startu (start time) s

•czas zakończenia (finishing time) f

•opóźnienie (lateness) L=f-d

•czas przekroczenia terminu (exceeding time)
E=max(0,L)

•zapas czasu w chwili złożenia (laxity, slack time) X=d-
a-C

Slack jest faktycznie funkcją czasu X=X(t) jeżeli
zadanie się wykonuje, to jego slack wynosi X(t)=d-t-
c(t), gdzie c(t) to ilość czasu CPU potrzebna do
zakończenia wykonywania zadania

background image

Parametry czasowe zadań

Kolejnym parametrem czasowym jest rodzaj
rozkładu czasów między złożeniami:

•procesy periodyczne (faza procesu, okres procesu,
czas wykonania, terminy są ustalone)
•aperiodyczne a

i+1

>a

i

•sporadyczne a

i+1

>a

i

+T

background image

Więzy kolejności wykonania

Więzy kolejności wykonania specyfikuje się poprzez
podanie skierowanego acyklicznego grafu, w którym
zadania są reprezentowane przez węzły, a relacje
kolejności przez łuki.

Graf kolejności narzuca relację częściowego
uporządkowania w zbiorze zadań.

background image

Więzy kolejności wykonania

Przykład:
Celem systemu jest rozpoznanie rodzaju obiektów
poruszających się na taśmie w celu np uruchomienia
robota sortującego. Rozpoznanie opiera się na odczycie
z dwóch kamer.

background image

Dostęp do zasobów

Aby zapewnić integralność danych, dostęp do zasobów
dzielonych musi następować na zasadzie wzajemnego
wykluczania.

Nieprawidłowy dostęp

Prawidłowy dostęp

background image

Dostęp do zasobów

Standardowe semafory POSIX mają dwie wady:

•mogą prowadzić do zakleszczenia

•czas blokowania jest nieograniczony (odwrócenie
priorytetów)

żądanie zasobu
szarego

żądanie zasobu
czarnego

background image

Dostęp do zasobów

Standardowe semafory POSIX mają dwie wady:

•mogą prowadzić do zakleszczenia

•czas blokowania jest nieograniczony (odwrócenie
priorytetów)

żądanie zasobu
szarego

background image

Plan

Zdefiniowanie więzów czasowych, kolejności
wykonania i dostępu do zasobów to krok konieczny
przed skonstruowaniem planu wykonania.

Plan to odwzorowanie

takie, że

k

jest wykonywane

procesor jest bezczynny

background image

Plan

Mamy dane trzy zbiory:
zbiór zadań J={J1,J2,J3....,Jn}
zbiór procesorów P={P1,P2,...Pm}
zbiór zasobów R={R1,R2,...Rs}
Ponadto mamy DAG określający więzy kolejności i
więzy czasowe.

Problem planowania to znalezienie takiego
przyporządkowania procesorów i zasobów zadaniom, aby
spełnić wszystkie ograniczenia czasowe.

Problem w ogólności jest NP-zupełny.

W pewnych warunkach, czasem o praktycznym znaczeniu
można problem przydziału rozwiązać w czasie
wielomianowym. Można rozpatrywać systemy
jednoprocesorowe, brak wywłaszczenia, ustalone priorytety
dla zadań itp.

background image

Klasyfikacja algorytmów planujących

Plan jest dopuszczalny (feasible) jeżeli gwarantuje
dotrzymanie wszystkich terminów.

Zbiór zadań jest planowalny, jeżeli istnieje dla niego
dopuszczalny plan.

Algorytmy bez wywłaszczenia i z wywłaszczeniem:

background image

Klasyfikacja algorytmów planujących

Off-line

On-line

Optymalne

Funkcje używane do mierzenia jakości algorytmu:
Średni czas odpowiedzi:
średnia (fi-ai)
Całkowity czas zakończenia:

max(fi)-

min(ai)
Maksymalne opóźnienie:
max(fi-di)
Maksymalna liczba spóźnionych zadań:

suma

miss(fi)

Heurystyczne

background image

Zwykłe systemy operacyjne

Klasyczne algorytmy szeregujące nie są odpowiednie do
szeregowania zadań czasu rzeczywistego ponieważ nie
gwarantują dotrzymania terminu.

FIFO

niewywłaszczalny, dynamiczny, on-line
bardzo nieprzewidywalny czas wykonania, zależny od czasu przybycia

background image

Zwykłe systemy operacyjne

Klasyczne algorytmy szeregujące nie są odpowiednie do
szeregowania zadań czasu rzeczywistego ponieważ nie
gwarantują dotrzymania terminu.

FIFO

niewywłaszczalny, dynamiczny, on-line
bardzo nieprzewidywalny czas wykonania, zależny od czasu przybycia

background image

Zwykłe systemy operacyjne

Algorytm karuzelowy

Niebezpieczeństwa związane z algorytmem karuzelowym:
skończona długość slice'u czasowego.

background image

Zwykłe systemy operacyjne

Planowanie na podstawie priorytetów:
Przyporządkowujemy priorytety do zadań.
Zadania o wyższym priorytecie mają
pierwszeństwo.

Jeśli priorytet proporcjonalny do odwrotności
czasu złożenia to metoda równoważna FIFO,
jeśli do odwrotności czasu wykonania to SJF.

Problemem jest głodzenie (długi czas
oczekiwania dla jobów o niskim priorytecie) -
ewentualnie można zwiększać priorytet w
zależności od czasu oczekiwania na przydział
procesora.

background image

Zwykłe systemy operacyjne

Algorytmem minimalizującym średni czas
odpowiedzi jest algorytm Shortest Job First.

Przed wstawieniem jobu do kolejki planista
musi znać czas wykonania jobu, który jest
ustalony.

background image

Zwykłe systemy operacyjne

SJF nie jest optymalny:

background image

Zwykłe systemy operacyjne

Niepożądane cechy systemów operacyjnych:

•Skończona liczba priorytetów

•Zastosowanie semaforów może prowadzić do zakleszczenia i
zawieszenia systemu: jeśli zagnieżdżone sekcje krytyczne.

•W systemach czasu rzeczywistego pamięć powinna być
alokowana w sposób statyczny

•Zadania realizowane przez jądro systemu powinny mieć
ograniczony czas działania

Cechy sprzętowe, które są źródłem nieprzewidywalności.

•DMA

•Cache

•Przerwania

background image

Anomalie szeregowania

Rozważmy planowanie tego zbioru na trzech
procesorach priorytety są od najwyższego 1 do
najniższego 9.

Dodajmy jeden więcej procesor.

Zmniejszmy czas wykonania każdego zadania o 1
na trzech procesorach.

Usuńmy wszystkie więzy na trzech procesorach.

background image

Anomalie szeregowania

Dwa razy szybszy procesor dla układu w
którym jest dostęp do wspólnych zasobów:
J1 złożony w czasie 2, wykonuje się na wolnym
procesorze (2,2,2) gdzie pogrubienie oznacza
sekcje krytyczną, termin 9
J2 złożony w czasie 0 wykonuje się na wolnym
procesorze (2,12,2), termin 23.

background image

Anomalie szeregowania

Operacja delay()

background image

Przewidywalność

Czasy wykonania zadań są w zadanym przedziale
(Cmin,Cmax).

Przewidywalność wykonania planu:

Minimalny plan: plan wyprodukowany, gdy czasy
wszystkich zadań są minimalne.

Maksymalny plan: plan wyprodukowany, gdy czasy
wszystkich zadań są maksymalne.

Przewidywalność czasu startu

Przewidywalność czasu zakończenia

background image

Przewidywalność

TWIERDZENIE

Wykonanie zbioru wywłaszczalnych zadań o
ustalonych czasach złożenia jest przewidywalne na
jednym procesorze, jeżeli zadania są planowane
algorytmem wykorzystującym priorytety.

background image

Przewidywalność

Załóżmy, że mamy zbiór zadań o ustalonych priorytetach
{J

1

,J

2

,J

3

...J

n

}.

Wykonanie J

1

- zadania o najwyższym priorytecie -

jest przewidywalne. Wg dowolnego schematu
startuje zawsze w momencie złożenia i wykonuje się
w czasie należącym do przedziału (r

1

+C

1,min

, r

1

+C

1,max

).

Załóżmy, że wykonanie zadań J

1

,J

2

,...J

i-1

jest

przewidywalne.

Pokażemy, że wykonanie J

i

jest też przewidywalne tj.

S

min

(J

i

)<=S(J

i

)<=S

max

(J

i

) i f

min

(J

i

)<=f(J

i

)<=f

max

(J

i

).

background image

Przewidywalność

Załóżmy, że czas startu nie jest przewidywalny:

Musi być albo S(J

i

)<S

min

(J

i

) albo S(J

i

)>S

max

(J

i

).

Weźmy przypadek S(J

i

)>S

max

(J

i

).

Czas startu nie może być wcześniejszy od czasu
złożenia czyli:
r

i

<=S

max

(J

i

).

background image

Przewidywalność

Wg dowolnego planu J

i

nie może wystartować dopóki nie

wykonają się wszystkie zadania o priorytecie wyższym, niż J

i

i czasie startu wcześniejszym niż S(J

i

) tzn:

f(J

k

)< =S(J

i

) dla każdego k<i takiego, że r

k

<S(J

i

).

Dla maksymalnego planu mamy:

f

max

(J

k

)<=S

max

(J

i

) dla każdego k<i takiego, że

r

k

<S

max

(J

i

).

Z przewidywalności k<i i nieprzewidywalności Ji mamy:

f(J

k

)<=f

max

(J

k

)<=S

max

(J

i

)<S(J

i

) dla każdego k<i takiego,

że r

k

<S

max

(J

i

).

background image

Przewidywalność

Jeżeli w czasie S

max

(J

i

) J

i

nie startuje,

to albo procesor pozostaje bezczynny,

albo wykonują się zadania o niższym priorytecie, co
jest sprzeczne z założeniami.

background image

Przewidywalność

Weźmy przypadek S(J

i

)<S

min

(J

i

).

Czas startu nie może być wcześniejszy od czasu złożenia
czyli:

r

i

<=S

min

(J

i

).

Dla minimalnego planu mamy:

f

min

(J

k

)<=S

min

(J

i

) dla każdego k<i takiego, że

r

k

<S

min

(J

i

).

Wg dowolnego planu z przewidywalności k<i wynika,
że f(J

k

)>f

min

(J

k

) więc może istnieć takie k, że:

f

min

(J

k

)<=S

min

(J

i

)<f(J

k

) dla pewnego k<i takiego, że

r

k

<S

min

(J

i

).

background image

Przewidywalność

Gdyby wg takiego planu S(J

i

)<S

min

(J

i

) to J

i

musiałoby

zajmować

czas procesora pomimo, że zadanie o wyższym
priorytecie nie

wykonało się, a to jest sprzeczne z założeniem o
planowaniu

wg priorytetów.

background image

Przewidywalność

Z twierdzenia wynika, że możemy dobrze
kontrolować

przewidywalność wykonania gdy są ustalone
priorytety zadań,

zadania wykonują się w sposób wywłaszczalny na
jednym

procesorze i czasy złożenia są ustalone.

Wystarczy wtedy brać pod uwagę maksymalne czasy.


Document Outline


Wyszukiwarka

Podobne podstrony:
Napęd Elektryczny wykład
wykład5
Psychologia wykład 1 Stres i radzenie sobie z nim zjazd B
Wykład 04
geriatria p pokarmowy wyklad materialy
ostre stany w alergologii wyklad 2003
WYKŁAD VII
Wykład 1, WPŁYW ŻYWIENIA NA ZDROWIE W RÓŻNYCH ETAPACH ŻYCIA CZŁOWIEKA
Zaburzenia nerwicowe wyklad
Szkol Wykład do Or
Strategie marketingowe prezentacje wykład
Wykład 6 2009 Użytkowanie obiektu
wyklad2
wykład 3
wyklad 5 PWSZ

więcej podobnych podstron