Sun RPC
Tworzenie usług sieciowych opartych na zdalnie wywoływanych procedurach.
Zadania laboratoryjne
Zadanie 1: unicestwianie procesów na zdalnym hoście
- Zaimplementować usługę unicestwiania (zabijania) procesów, która udostępni
zdalną procedurę przekazywania sygnału nr 9 do procesu o identyfikatorze
(pid), przekazanym jako parametr przez klienta.
- Zaimplementować asynchroniczną wersję procedury unicestwiania zdalnych
procesów.
Zadanie 2: zdalny licznik
- Zaimplementować zdalny licznik (sekwenser), czyli zdalną procedurę (właściwie
funkcję) zwracającą przy każdym wywołaniu kolejną wartość całkowitą, począwszy
od 0.
- “Spowolnić” wykonanie funkcji poprzez wywołanie sleep/usleep i
sprowokować podzielność generowania kolejnego numeru poprzez uśpienie wątku
na kilka sekund i odpowiednie zdekomponowanie operacji zwiększania z
wykorzystaniem dodatkowej zmiennej lokalnej.
- Przetesotwać działanie licznika przez współbieżne uruchomienie kilku klientów.
- Przetesotwać ponownie działanie licznika po odpowiednim skorygowaniu czasy
przterminowania (ang. timeout) i czasu retransmisji (ang. retry timeout), za
pomocą funkcji clnt_control.