Systemy czasu rzeczywistego (QNX)
IV rok informatyki, studia dzienne magisterskie
rok akademicki 2006/2007, semestr zimowy



Poniżej znajduje się opis zadań do zrealizowania w semestrze. Opis dotyczy części B.

Część B, czyli system działający 'globalnie'

Wykorzystując mechanizmy systemowe QNX-a zaprojektować i uruchomić zadany przez prowadzącego zajęcia system.

Zasady działania systemu:
W systemie istnieją następujące procesy:

1. Proces serwera zasobów

Proces ten zastępuje proces IPC z wersji A. Przechowuje on stan dróg, świateł oraz liczniki zgłoszeń i zajętości skrzyżowania.
Odpowiada na pytania procesów klienckich, i tak:
- dla procesów pojazdów zajmuje zasoby warunkowo, to znaczy, jeśli żądany zasób jest dostępny,
- dla zarządcy mostu natychmiast,
- proces posiada licznik pojazdów znajdujących sie na moście (auta, pociągi) lub pod mostem (barki).

Struktura komunikatów serwera jest jednakowa dla wszystkich klientów. Po odebraniu sygnału CTRL+C proces ten "odpowiednio" informuje klientów, że o zakończeniu pracy. Ostatni proces klienta informuje proces wizualizacji.


Jak w zadaniu A. Oczywiście w zadaniu B proces ten przyjmuje informacje z innych procesów za pomocą gniazd. Trudno bezpośrednio zajmować zasoby, które fizycznie znajdują się na innym komputerze.

2. Proces serwera: proces wizualizacji systemu
Zasady pracy jak w zadaniu A.

Dodatkowo:

Proces wizualizacji dla zmiennej z1 równej znakowi:
3. Proces klienta: zarządca mostu i świateł
Odmienne zasady działania niż w zadaniu A. Proces ten jest uruchamiany z parametrem zewnętrznym określającym "próg cierpliwości" (rozumianym jako ilość taktów). Próg cierpliwości określa maksymalny czas jazdy pojazdów w jednym kierunku.
Proces ten co 0.8 sekundy (tyle wynosi jeden takt czasu) sprawdza stan zgłoszeń i w zależności od progu cierpliwości odpowiednio steruje światłami i mostem.

4. Proces klienta: samochód/pociąg/barka
Zasady pracy jak w zadaniu A.