Kompilatory "czasu rzeczywistego"

Systemy czasu rzeczywistego odgrywaja coraz wieksza role w naszym zyciu. Przy czym, wbrew pozorom, nie jest to juz tylko kodowanie sterownikow w asemblerze, ale np. pisanie systemu dla EKG ktory na biezaco zanalizuje zapis i na monitorze wyswietli lekarzowi prace serca.

Jednak techniki tworzenia systemow pracujacych w czasie rzeczywistym rozwijaja sie o wiele wolniej niz te dla "zwyklych" systemow. Zwiazane jest to z faktem, ze:

  1. Trudno jest przeprowadzic statyczna analize czasu wykonania programu (znalezc najdluzsza sciezke wykonania)
  2. Wiekszosc systemow operacyjnych nie daje zadnych informacji dotyczacych czasu (czas wykonania funkcji systemowej, czas przelaczania kontekstu, algorytm szeregowania i tp.)
  3. Wiekszosc narzedzi wspomagajacych projektownie generuje pewien narzut, ktory przy jest nie do przjecia w rozwazanych zastosowaniach.

W swoim wystapieniu bede mowil o jezykach i kompilatorach generujacych kod dla systemow pracujacych w czasie rzeczywistym.

Przewiduje ze powiem kolejno o:

  1. Systemy czasu rzeczywistego (tylko dla przypomnienia - bylo w zeszlym roku na seminarium)
  2. Pozadane wlasciwosci kompilatorow ...
  3. i systemow operacyjnych
  4. Dlaczego, w zwiazku z tym, obywamy sie czesto bez systemu operacyjnego...
  5. a zamiast uzywac przerwan, sprawdzanie stanu urzadzen wykonujemy w ciasnej petli.
  6. Pozorne drobiazgi (np. zegar)
  7. Wymamgania dotyczace jezykow(jakie kontrukcje sa potrzebne i jakie, znane ze "zwyklych" jezykow, zabronione)
  8. Rozne podejscia
    1. PEARL
    2. Analiza obserwowalnych zdarzen

Tu zaczynaja sie przypisy zwiazane z seminarium, ktore (byc moze ponmoga je zrozumiec)

Definicje systemu czasu rzeczywistego

Do poczatku

Uzyteczne dowiazania

Kamil Jonca
Last modified: Tue Jan 19 10:03:56 CET 1999