Linux a czas rzeczywisty
Wprowadzenie do systemów RT: RTLinux: KURT Linux: Slajdy: |
Systemy twarde i miękkieRozważmy dwa przykładowe procesy:
W pierwszym przypadku widać, że jakiekolwiek przekroczenie ustalonych limitów czasowych może doprowadzić do tragedii. Wyobraźmy sobie sytuację, w której dwa samoloty pasażerskie lecą kursem kolizyjnym. Jeśli system nie poinformuje kontrolera lotów odpowiednio szybko, wówczas nie będzie on w stanie w porę podać nowych kursów pilotom i zaistnieje realna szansa zderzenia, a w konsekwencji wiele ofiar. W drugim przypadku sytuacja wygląda inaczej. Jeśli wystąpi jakieś opróżnienie w przetwarzaniu danych z kamery, wówczas jedyne, co nam grozi to chwilowa utrata jakości obrazu. W związku z tym wyróżnia się dwa rodzaje systemów czasu rzeczywistego:
Istnieją dwa sposoby szeregowania zadań w systemach czasu rzeczywistego. Jeśli właściwości kontrolowanego systemu są znane z góry, w związku z tym rodzaj i kolejność podejmowanych działań może być określona przed rozpoczęciem wykonywania procesu, wówczas można użyć szeregowania statycznego. Taka polityka stosowana jest raczej do zadań występujących okresowo (analiza danych z czujnika). Jest ona oczywiście całkowicie nieelastyczna, ponieważ system zostaje ściśle związany z konkretnym procesem. Jest jednak prostrzy w implementacji, a co za tym idzie tańszy i właśnie dlatego dosyć powszechnie stosowany. Złożoność kontrolowanych procesów, oraz praca w środowiskach o większej niepewności, sprawia, że powstają również systemy z szeregowaniem dynamicznym. Dzięki takiemu podejściu jesteśmy w stanie uzyskać o wiele bardziej uniwersalne systemy, jest to oczywiście przyszłość systemów czasu rzeczywistego. |