Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

© DSRG 2004 Systemy Rozproszone - Zdalne wywołanie procedury 1 www.cs.agh.edu.pl Zdalne wywołanie procedury Implementacja Sun RPC Ćwiczenie laboratoryje:

Podobne prezentacje


Prezentacja na temat: "© DSRG 2004 Systemy Rozproszone - Zdalne wywołanie procedury 1 www.cs.agh.edu.pl Zdalne wywołanie procedury Implementacja Sun RPC Ćwiczenie laboratoryje:"— Zapis prezentacji:

1 © DSRG 2004 Systemy Rozproszone - Zdalne wywołanie procedury 1 www.cs.agh.edu.pl Zdalne wywołanie procedury Implementacja Sun RPC Ćwiczenie laboratoryje: Jacek Cała Aleksander Motyka

2 Systemy Rozproszone - Zdalne wywołanie procedury 2 © DSRG 2004 www.cs.agh.edu.pl Pytania Zadania mechanizmu RPC? Co to jest operacja powtarzalna (ang. idempotent) ? Cele wprowadzenia specyfikacji XDR? Czym jest łącznik (ang. stub) klienta/serwera?

3 Systemy Rozproszone - Zdalne wywołanie procedury 3 © DSRG 2004 www.cs.agh.edu.pl Specyfikacja usług RPC Numer programu – liczba 32-bitowa –0000 0000–1fff ffff – SunRPC –2000 0000–3fff ffff – definiowane przez użytkownika –4000 0000–5fff ffff – tymczasowe –6000 0000–ffff ffff – zarezerwowane Numer wersji – liczba 32-bitowa Numer procedury – liczba 32-bitowa

4 Systemy Rozproszone - Zdalne wywołanie procedury 4 © DSRG 2004 www.cs.agh.edu.pl Program rpcbind Serwer dokonujący konwersji numerów programów RPC na numer portu tzw. portmapper; port 111 demon rpcbind serwer klient [1] [2][3] rejestracja usługi odwzorowanie adresuwywołanie

5 Systemy Rozproszone - Zdalne wywołanie procedury 5 © DSRG 2004 www.cs.agh.edu.pl Polecenie rpcinfo Informacje nt. usług zarejestrowanych w rpcbind. –wyświetlenie wszystkich usług na wskazanym serwerze –wyświetlenie usług w sposób zwarty [-s] –wyświetlenie wybranej usługi [-l] –usunięcie wybranego serwisu [-d]

6 Systemy Rozproszone - Zdalne wywołanie procedury 6 © DSRG 2004 www.cs.agh.edu.pl Polecenie rpcgen Jako wejście pobiera plik specyfikacji usług w formacie XDR. Jako wyjście generuje kod stuba serwera i klienta w języku C. service.x client.c service_proc.c service.h service_cltn.c service_svc.c libnsl service client cc rpcgen

7 Systemy Rozproszone - Zdalne wywołanie procedury 7 © DSRG 2004 www.cs.agh.edu.pl Polecenie rpcgen Ukrywa niskopoziomowe wywołania biblioteki RPC: –clnt_* –svc_* –rpc_* –xdr_* Generuje gotowe funkcje na potrzeby serwisu oraz klienta

8 Systemy Rozproszone - Zdalne wywołanie procedury 8 © DSRG 2004 www.cs.agh.edu.pl Ważniesze funkcje CLIENT* clnt_create( const char* host, const rpcprog_t prognum, const rpcvers_t versnum, const char* nettype) –zwraca zmienną typu CLIENT, która będzie używana przy generowaniu wywołań do serwera. bool_t clnt_control( CLIENT* clnt, const uint_t req, char* info) –pozwala na odczyt/zmianę parametrów zmiennej typu CLIENT void clnt_destroy(CLIENT* clnt) –usuwa utworzoną strukturę klienta

9 Systemy Rozproszone - Zdalne wywołanie procedury 9 © DSRG 2004 www.cs.agh.edu.pl Zadanie 1 Użycie rpcgen dla przykładowej specyfikacji db.x –rpcgen -a -C db.x –gmake -f makefile.db Analiza wygenerowanych plików –plik nagłówkowy –przykładowe implementacje klienta i serwera

10 Systemy Rozproszone - Zdalne wywołanie procedury 10 © DSRG 2004 www.cs.agh.edu.pl Zadanie 2 Opracowanie klienta odczytującego z bazy rekord: –RecordName == autor-02 –RecordID == 1 Baza umieszczona została na komputerze galaxy oraz jasmin

11 Systemy Rozproszone - Zdalne wywołanie procedury 11 © DSRG 2004 www.cs.agh.edu.pl Zadanie 3 Napisanie własnego programu usługi: –podnoszącego przekazaną liczbę rzeczywistą do kwadratu, –procedura usługowa powinna generować na standardowe wyjście komunikat o jej wywołaniu. Program powinien umieszczony w pliku db.x UWAGA! Numery programów muszą być unikalne


Pobierz ppt "© DSRG 2004 Systemy Rozproszone - Zdalne wywołanie procedury 1 www.cs.agh.edu.pl Zdalne wywołanie procedury Implementacja Sun RPC Ćwiczenie laboratoryje:"

Podobne prezentacje


Reklamy Google