System czasu rzeczywistego

System czasu rzeczywistego (ang. real-time system, real-time computing, RTC) – 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. regulator pneumatyczny.

Teoria edytuj

Funkcja zysku edytuj

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:   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.
 
 
2.
 
 
3.
 
 

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

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

Praktyczne uproszczenie edytuj

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.

Praktyka edytuj

System informatyczny czasu rzeczywistego edytuj

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.

Podział edytuj

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  

Kwestie sporne edytuj

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.

Zastosowanie edytuj

Systemy czasu rzeczywistego znajdują zastosowanie:

Zobacz też edytuj