Zagadnienia wykładowe
- PVM
- uruchamianie zdalnych zadań i ich identyfikacja,
- mechanizmy komunikacji pomiędzy zadaniami,
- dynamiczne grupy zadań.
- MPI
- podstawowe koncepcja MPI - komunikator
- identyfikacja zadań i komunikatów,
- mechanizmy komunikacji pomiędzy zadaniami,
- komunikacja i koordynacja grupowa.
- Java - wątki
- tworzenie i cykl życia wątków,
- synchronizacja - wzajemne wykluczanie,
- synchronizacja - zmienne warunkowe (
wait
,
notify
, notifyAll
).
- Java - RMI
- implementacja wywołania zdalnego,
- przekazywanie parametrów (przez wartość i przez referencję),
- lokalizowanie zdalnych obiektów (klasa
Registry
i
Naming
).
- Ada 95
- współbieżność - zadania,
- synchronizacja zadań poprzez spotkania symetryczne,
- obiekty chronione,
- przetwarzanie rozproszone - karegorie jednostek bibliotecznych,
- pakiety zdalnych procedur (funkcji) i ich wywoływanie.
- CORBA
- architektura,
- implementacja ORBa,
- Object Adapter (aktywacja obiektów),
- IDL.
- CORBA - serwisy
- Naming Service
- Event Service
- Concurrency Control Service
- ...
Wymagane umiejętności
- umiejętność zastosowania poznanych mechanizmów synchronizacji w
klasycznych problemach synchronizacji procesów:
- problemie producent-konsument (ograniczone buforowanie),
- problemie czytelników i pisarzy,
- problemie 5 filozofów,
- problemie śpiących fryzjerów;
- umiejętność implementacji - na bazie mechanizmów dostępnych w danym
środowisku - mechanizmów synchronizacji charakterystycznych dla innych
środowisk (np. semaforów w Adzie, obiektów chronionych w Javie itp.);
- umiejętność budowy (specyfikowania i implementacji) zdalnie dostępnych
jednostek aplikacji rozproszonej w poznanych środowiskach;