Wiadomości podstawowe o interfejsie IPC w standardzie POSIX.
Trzy mechanizmy IPC: kolejki komunikatów, pamięć wspólna, semafory.
Dwie rodziny interfejsów: UNIX System V IPC, POSIX IPC
Trwałość obiektów IPC: jądra, procesu, systemu plików.
Przestrzenie nazw, widoczność obiektów (w szczególności w systemie plików)
Kolejki komunikatów i pamięć wspólna - interfejs POSIX IPC:
Przestrzeń nazw, trwałość, widoczność obiektów
Komunikat, priorytet komunikatu, przesyłanie komunikatów (buforowanie o ograniczonej pojemności, dostęp do komunikatów kolejki (rola priorytetu), asynchroniczne powiadamianie o wstawieniu komunikatu do pustej kolejki), usuwanie kolejki i tego skutki.
Blok pamięci współdzielonej: tworzenie, dołączanie/odłączanie, tryby dostępu i konsekwencje naruszenia ograniczeń, zaznaczanie do usunięcia, a usuwanie bloku z systemu.
Wywołanie funkcji systemowych fork(), exec(), _exit(), a obiekty IPC.
(**) Budowa i wykorzystanie interfejsów kolejki komunikatów i pamięci wspólnej POSIX:
Obserwacja obiektów IPC w systemie plików
Funkcje systemowe kolejek komunikatów (mq_*()) i pamięci wspólnej(shm_*(), ftruncate(), mmap() i in.)
Wykorzystanie asynchronicznego powiadamianie o wstawieniu komunikatu do pustej kolejki.
Kolejki komunikatów i pamięć wspólna - interfejs UNIX System V IPC
Przestrzeń nazw, trwałość, widoczność obiektów
Komunikat, typ komunikatu, przesyłanie komunikatów (buforowanie o ograniczonej pojemności, dostęp wybiórczy do komunikatów: porządek FIFO albo wg typu komunikatu), usuwanie kolejki i tego skutki.
Segment pamięci współdzielonej: tworzenie, dołączanie/odłączanie segmentu, tryby dostępu i konsekwencje naruszenia ograniczeń, zaznaczanie do usunięcia, a usuwanie segmentu z systemu.
(*) Budowa i wykorzystanie interfejsu kolejki komunikatów i pamięci wspólnej
Obserwacja obiektów IPC w systemie; polecenia systemowe (ipcs, ipcrm)
Funkcje systemowe kolejek komunikatów (msg*()) i pamięci wspólnej (shm*()) i niektóre struktury danych interfejsu.
Treści oznaczone (*) należy traktować jako pomocnicze, ułatwiające zrozumienie pozostałych treści. Znajomość tego materiału (w szczególności wywołań funkcji interfejsu UNIX System V IPC oraz systemowych struktur danych) nie jest wymagana w czasie kolokwiów wykładowych.
Treści oznaczone (**) są bezpośrednio związane z zajęciami laboratoryjnymi. Znajomość szczegółow interfejsu POSIX IPC jest przydatna w czasie laboratoriów, może być przydatna dla zrozumienia ogólnych koncepcji tego wykładu, ale nie jest wymagana w czasie kolokwiów wykładowych.
Kolokwia wykładowe oczekują od studenta znajomości ogólnych koncepcji oraz podstawowych własności omawianych interfejsów IPC.