Linux a czas rzeczywisty
Wprowadzenie do systemów RT:

RTLinux:

KURT Linux:

Slajdy:

KURT - Architektura

Core

KURT składa się z dwóch części:

  • Core - zajmuje się szeregowaniem procesów czasu rzeczywistego
  • moduły czasu rzeczywistego (RTMods) - zajmują się konkretnym zdarzeniem rt

KURT Core jest odpowiedzialny za szeregowanie procesów i uruchamianie odpowiednich modułów w odpowiednim czasie. Dokładne czasy wydarzeń rt są znane z wyprzedzeniem (aplikacje muszą je z wyprzedzeniem określić) i są zapisane w pliku (schedule file). Core dodaje timery dla każdego zdarzenia z pliku i gdy czas wygasa wywołuje odpowiedni moduł. Ponieważ jednak sama obsługa przerwania przed właściwym działaniem (np. zaprogramowanie czasu) zajmuje 20 - 50 mikrosekund, timer chip jest programowany przez Core tak, aby zgłaszał przerwanie 50 mikrosekund przed właściwym wygaśnięciem czasu.

Niestety, w Linuksie pewne części, np. obsługa systemu plików lub dysku mogą blokować przerwania nawet na czas 250 mikrosekund. Dlatego musi istnieć możliwość wyłączania tych komponentów. Z tego powodu KURT może pracować w dwóch trybach - tryb normalny, gdzie wszystkie procesy mają pozwolenie na działanie (i mogą nastąpić tego typu blokowania przerwań), i tryb real-time, gdzie tylko procesy zamarkowane jako rt mają pozwolenie na wykonywanie.

rtmods

Moduły czasu rzeczywistego to ładowalne moduły jądra, które obsługują konkretne zdarzenie czasu rzeczywistego. Wykonują się w trybie jądra.

process module

Moduł procesów (proces module) jest wbudowanym modułem którego nie da się odinstalować. Obsługuje timery budząc lub usypiając konkretne procesy. Jest to najczęściej używany przez procesy czasu rzeczywistego moduł.