System czasu rzeczywistego

W informatyce mówimy o systemie czasu rzeczywistego, w którym system ten jest w stanie kontrolować (lub pilotować) proces fizyczny z prędkością dostosowaną do ewolucji kontrolowanego procesu.

Systemy informatyczne czasu rzeczywistego różnią się od innych systemów informatycznych tym, że uwzględniają ograniczenia czasowe, których przestrzeganie jest równie ważne jak dokładność wyniku, innymi słowy system nie może po prostu dostarczać dokładnych wyników, musi je dostarczać w wyznaczonych terminach.

Obszary zastosowań

Systemy komputerowe czasu rzeczywistego są dziś obecne w wielu sektorach działalności:

oraz w nowym sektorze gospodarki poprzez stale rosnące zapotrzebowanie na przetwarzanie i przekazywanie informacji (wideo, dane, zdalne sterowanie, rzeczywistość wirtualna  itp .).

Rozwój systemów czasu rzeczywistego wymaga zatem, aby każdy z elementów samego systemu działał w czasie rzeczywistym, to znaczy pozwalał na uwzględnienie ograniczeń czasowych i priorytetów każdego z zadań. System operacyjny zaprojektowany w celu uwzględnienia tych ograniczeń nazywany jest systemem operacyjnym czasu rzeczywistego .

Specyfika

Aby zapewnić przestrzeganie terminów lub ograniczeń, konieczne jest, aby:

Zadania

Zadanie ogólnie charakteryzuje się czasem obliczeniowym ( C i ), terminem ( D i ), który jest datą, w której zadanie musi zakończyć swoje wykonanie, aw przypadku zadań okresowych, okresem ( T i ), w którym reprezentuje czas trwania oddzielający momenty aktywacji. Wykonanie zadania nazywa się instancją.

Ścisły / elastyczny czas rzeczywisty

Rozróżnia się ścisły lub twardy czas rzeczywisty (od angielskiego hard real-time ) i elastyczny lub miękki czas rzeczywisty (w języku angielskim soft real-time ) w zależności od wagi nadanej ograniczeniom czasowym:

Ścisły czas rzeczywisty nie toleruje żadnych przekroczeń tych ograniczeń, co często ma miejsce, gdy takie przekroczenia mogą prowadzić do sytuacji krytycznych, a nawet katastrofalnych: autopilot samolotu, system monitorowania elektrowni jądrowej  itp. Można uznać, że ścisły system czasu rzeczywistego musi przestrzegać określonych terminów, nawet w najgorszej możliwej sytuacji wykonania. Elastyczny czas rzeczywisty dostosowuje się do przekroczenia ograniczeń czasowych w pewnych granicach, po przekroczeniu których system staje się bezużyteczny lub bolesny: wideokonferencje, gry sieciowe  itp. Elastyczny system czasu rzeczywistego musi przestrzegać swoich ograniczeń średnio podczas wykonywania. Wyjątkowe przekroczenie jest tolerowane, co można skompensować w krótkim okresie.

Test akceptacji

Teoretycznie projektant tzw. Ścisłego systemu czasu rzeczywistego powinien być w stanie udowodnić, że terminy nie zostaną przekroczone, niezależnie od sytuacji. Weryfikacja ta nazywana jest „testem akceptowalności”, „analizą wykonalności” lub nawet „kontrolą wstępu”; odwołuje się do teorii planowania . Zależy to od używanego harmonogramu i charakterystyki zadań systemowych.

W przypadku elastycznego systemu wystarczyłyby pomiary statystyczne uzyskane na prototypie.

Stan naładowania

W przypadku każdego systemu zadaniowego następujący warunek jest konieczny, ale nie wystarczający do jego wykonalności:

Z:

Wartość większa niż 1 oznaczałaby, że system wymaga więcej czasu wykonania, niż może zapewnić procesor.

Czas reakcji w najgorszym przypadku

Najgorszy czas odpowiedzi zadania to, spośród wszystkich możliwych scenariuszy wykonania systemu, najdłuższy czas między aktywacją tego zadania a czasem jego zakończenia.

Zadanie jest wykonalne, jeśli czas odpowiedzi w najgorszym przypadku jest krótszy lub równy terminowi. System jest wykonalny, jeśli wszystkie składające się na niego zadania są wykonalne. Koszt jest wykładniczy.

Przykłady systemów operacyjnych czasu rzeczywistego

Niewyczerpująca lista jest dostępna tutaj .

Bibliografia

Jane WS Liu, „Systemy czasu rzeczywistego”, Prentice Hall, 2000.

Uwagi i odniesienia

Zobacz też

Powiązane artykuły

Link zewnętrzny

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">