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:
- Procesy systemu
uruchamiamy na różnych komputerach (różnych węzłach sieci qnet).
- Do komunikacji
między procesami wykorzystujemy kolejki komunikatów oraz kanały.
- Procesy
klientów systemu (czyli proces zarządcy mostu i świateł,
oraz
procesy pojazdów:
samochodów/pociągów/barek) oprócz informacji: "koniec pracy",
"awaria
wizji" wyświetlają również komunikat "awaria zasobów",
- Pozostałe wytyczne
jak do zadania A.
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:
- *
- kończy proces dla wersji B systemu.
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.