Zadanie 3 - RPC (zadalne wywolanie procedur) =========================================== Napisac: 1. Zdalna procedure liczaca iloczyn wektora-wiersza i macierzy. Parametrami wejsciowymi procedury sa odpowiednio wektor-wiersz i macierz. Parametrem wyjsciowym jest kod zakonczenia, bedacy liczba calkowita i oznaczajacy: STAT_OK = 1 - poprawne zakonczenie procedury. W tej sytuacji dodatkowym parametrem wyjsciowym jest wektor-wiersz bedacy odpowiednim iloczynem STAT_BAD_DIM = 2 - niezgodnosc wymiarow wektora i macierzy STAT_BAD_AUTH = 3 - brak uprawnien klienta. Klient moze wywolac procedure zdalna, jesli: - przyslal swoje uprawnienia - ma konto na maszynie zdalnej (getpwuid) - znajduje sie na utrzymywanej przez serwera liscie uprawnionych uzytkownikow (plik z lista login names) 2. Serwer rejestrujacy powyzsza procedure. 3. Klienta, ktory jako parametry wejsciowe przyjmuje dwie macierze (umieszczone w dwoch plikach "macierz_A" i "macierz_B") oraz liste nazw komputerow zdalnych. Zadaniem klienta jest policzenie iloczynu tych macierzy. Klient tworzy potomkow (po jednym dla kazdego wiersza) wywolujacych procedure zdalna, dla kolejnych wierszy macierzy A oraz macierzy B (w ten sposob policzy kolejne wiersze macierzy wynikowej). Liczba komputerow nie musi byc rowna liczbie wierszy, w zwiazku z czym, nalezy przydzialic serwery poszczegolnym potomkom. Kazdy z potomkow ma wypisac obliczony wiersz macierzy wynikowej (w odpowiedniej kolejnosci). Do synchronizacji wypisywania kolejnych wierszy nalezy posluzyc sie semaforami. Po zakonczeniu dzialania wszystkich potomkow klient "robi porzadki" (np. usuwa semafory itp.). Klient powinien utworzyc uprawnienia unixowe. UWAGI: * Wybor protokolu z ktorego korzystaja klient i serwer zalezy od implementatora. * Wymiary - kolumnowy i wierszowy - macierzy wejsciowych nie przekraczaja 25. * Elementami macierzy sa liczby calkowite. ============================================== Agata Glanowska (email: glanowsk@mimuw.edu.pl) ==============================================