System czasu rzeczywistego - Nauka

System czasu rzeczywistego

Z Wikipedii

Skocz do: nawigacji, szukaj


System czasu rzeczywistego (ang. real-time system), to urządzenie techniczne, którego wynik i efekt działania jest zależny od chwili wypracowania tego wyniku. Istnieje wiele różnych definicji naukowych takiego systemu. Ich wspólną cechą jest zwrócenie uwagi na równoległość w czasie zmian w środowisku oraz obliczeń realizowanych na podstawie stanu środowiska. Z tego wyścigu dwóch stanów: zewnętrznego i wewnętrznego, wynikają kryteria ograniczające czas wypracowywania wyniku.

Systemy czasu rzeczywistego najczęściej buduje się w oparciu o komputery, jednak nie jest to konieczne - można tym pojęciem określić np. pneumatyczny regulator.

[edytuj] Teoria

[edytuj] Funkcja zysku

Dla teorii i praktyki systemów czasu rzeczywistego przydatne jest pojęcie funkcji zysku. Funkcja zysku jest funkcją zależną przede wszystkim od czasu i określa korzyść ze zrealizowania zadania przez system. Korzyść niekoniecznie jest wielkością wymiarowaną. Źródłem ograniczeń czasowych są zazwyczaj zjawiska fizyczne zachodzące w świecie rzeczywistym.

Zadanie zostało przez system zrealizowane poprawnie, jeśli z chwilą zakończenia tego zadania wartość funkcji zysku jest większa od zera.

Funkcję zysku można określać nie tylko dla systemów czasu rzeczywistego. Następująca funkcja zysku: y = a jest typowym przykładem dla systemu innego niż czasu rzeczywistego - zysk jest zawsze taki sam, niezależnie od momentu uzyskania wyniku.

W zdecydowanej większości praktycznie rozpatrywanych przypadków funkcja zysku jest nierosnąca - korzyść z wykonania zadania nie rośnie z upływem czasu. Szczególnym przypadkiem gdy nie jest to spełnione, mogą być na przykład operacje giełdowe. Dla systemów czasu rzeczywistego charakterystyczne są trzy funkcje zysku:

1.

z \left(t \right)=\begin{cases} 
u & t_{0} < t < t_{T}\\
- \infty & t \geq t_{T} \end{cases}
2.

z \left(t \right)=\begin{cases} 
u & t_{0} < t < t_{T}\\
0 & t \geq t_{T} \end{cases}
3.

z \left(t \right)=\begin{cases} 
u & t_{0} < t < t_{1}\\
u\,\frac {t_T - t}{t_T - t_1} & t_{1} < t < t_{T}\\
0 & t \geq t_{T} \end{cases}

Z tych trzech funkcji wyprowadza się przedstawiony dalej podział systemów czasu rzeczywistego na "hard"(1.), "firm"(2.) i "soft"(3.).

  • t0 to chwila zlecenia zadania systemowi, uznawana za początek realizacji tego zadania,
  • tT to najpóźniejsza chwila w której przetwarzanie może zostać zakończone (ang. deadline),
  • w przypadku (3.) funkcja z\left(t\right) jest ciągła w punktach t1 i tT,
  • Dla t \leq t_{0} wartości funkcji zysku nie określa się, gdyż oczywiście nie jest to sytuacja realizowalna fizycznie.

[edytuj] Praktyczne uproszczenie

W systemie czasu rzeczywistego przekształcanie danych przesyłanych do lub z zewnętrznego środowiska zachodzi w deterministycznie określonym czasie. Stosuje się pojęcie terminu (ang. deadline), oznaczające najdłuższy dopuszczalny czas reakcji systemu na wystąpienie zdarzenia.

System czasu rzeczywistego nie musi być szybki - istotne jest jedynie, aby jego działania spełniały narzucone ograniczenia czasowe.

[edytuj] Praktyka

[edytuj] System informatyczny czasu rzeczywistego

Często pod pojęciem "system czasu rzeczywistego" rozumie się systemy zbudowane z wykorzystaniem komputera, pracującego pod kontrolą systemu operacyjnego czasu rzeczywistego. W skład takiego systemu włącza się także jego niezbędne otoczenie, takie jak deterministyczne sieci transmisyjne (np. Fip, Modbus, Genius, CAN i in.), układy wejściowe i wyjściowe oraz urządzenia kontrolowane przez komputer (np. roboty).

Aby system składający się z komponentów był systemem czasu rzeczywistego, konieczne jest spełnianie wymogów systemu czasu rzeczywistego przez każdy z komponentów. W przypadku systemów informatycznych oznacza to, że zarówno sprzęt, system operacyjny, jak i oprogramowanie aplikacyjne muszą gwarantować dotrzymanie zdefiniowanych ograniczeń czasowych.

W realizacji oprogramowania działającego w czasie rzeczywistym niezbędna jest analiza wydajności działania aplikacji.

[edytuj] Podział

Praktyczny podział systemów czasu rzeczywistego wynika z opisanych wcześniej trzech charakterystycznych teoretycznych funkcji zysku.

  • systemy o ostrych ograniczeniach czasowych (ang. hard real-time) - gdy przekroczenie terminu powoduje poważne, a nawet katastrofalne skutki, jak np. zagrożenie życia lub zdrowia ludzi, uszkodzenie lub zniszczenie urządzeń, przy czym nie jest istotna wielkość przekroczenia terminu a jedynie sam fakt jego przekroczenia,
  • systemy o mocnych ograniczeniach czasowych (ang. firm real-time) - gdy fakt przekroczenia terminu powoduje całkowitą nieprzydatność wypracowanego przez system wyniku, jednakże nie oznacza to zagrożenia dla ludzi lub sprzętu; pojęcie to stosowane jest głównie w opisie teoretycznym baz danych czasu rzeczywistego,
  • systemy o miękkich lub łagodnych ograniczeniach czasowych (ang. soft real-time) - gdy przekroczenie pewnego czasu powoduje negatywne skutki tym poważniejsze, im bardziej ten czas został przekroczony; w tym przypadku przez "negatywne skutki" rozumie się spadek funkcji zysku aż do osiągnięcia wartości zero w chwili tT.

[edytuj] Kwestie sporne

Niektórzy autorzy negują powyższy podział, uznając za systemy czasu rzeczywistego wyłącznie te o ostrych ograniczeniach czasowych.

Część autorów za systemy czasu rzeczywistego uznaje tylko te, które są weryfikowalne metodami formalnymi lub zawężając jeszcze bardziej: tylko te, które już zostały zweryfikowane pozytywnie. Dlatego w tym ujęciu powszechnie stosowane określenie, że dane zadanie jest wykonywane "w czasie rzeczywistym", jest traktowane jako nadużycie.

[edytuj] Zastosowanie

Systemy czasu rzeczywistego znajdują zastosowanie:

[edytuj] Zobacz też








wymiana linkow 906 niezarejestrowana strona 906 sprawdz strone