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:
- Trudno jest przeprowadzic statyczna analize czasu wykonania programu (znalezc najdluzsza sciezke wykonania)
- Wiekszosc systemow operacyjnych nie daje zadnych informacji dotyczacych czasu (czas wykonania funkcji systemowej, czas przelaczania kontekstu, algorytm szeregowania i tp.)
- 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:
- Systemy czasu rzeczywistego (tylko dla przypomnienia - bylo w zeszlym roku na seminarium)
- Pozadane wlasciwosci kompilatorow ...
- i systemow operacyjnych
- Dlaczego, w zwiazku z tym, obywamy sie czesto bez systemu operacyjnego...
- a zamiast uzywac przerwan, sprawdzanie stanu urzadzen wykonujemy w ciasnej petli.
- Pozorne drobiazgi (np. zegar)
- Wymamgania dotyczace jezykow(jakie kontrukcje sa potrzebne i jakie, znane ze "zwyklych" jezykow, zabronione)
- Rozne podejscia
- PEARL
- 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