EGZAMIN 1. Po wykonaniu funkcji fork()

Transkrypt

EGZAMIN 1. Po wykonaniu funkcji fork()
EGZAMIN
1. Po wykonaniu funkcji fork() proces potomny rozpoczyna wykonywanie kodu:
a)
b)
c)
d)
od
od
od
od
kolejnego wywołania fork(),
początku,
wywołania procedury obsługi sygnału SIGCLD,
następnej instrukcji w kodzie po wywołaniu fork(),
2. Elementem, który przeniesiono w Javie na poziomie języka jest:
a)
b)
c)
d)
gniazdka,
deskryptory strumieni danych,
synchronizacja,
łącza,
3. Wątek kończy się gdy:
a)
b)
c)
d)
e)
wątek tworzący wywoła funkcję pthread_detach(),
kończy się funkcja wątku,
wątek tworzący wywoła funkcję pthread_kill(),
wywoła funkcję pthread_exit(),
kończy się proces (wątek główny),
4. Java usuwa heterogeniczność międzysystemową:
a) dokonując przezroczystej
b) wprowadzając unifikujący
c) wykorzystując mechanizmy
sieciowe,
d) reprezentacja wewnętrzna
dla użytkownika kompilacji kodu Ÿźródłowego,
podsystem wykonawczy, wykonujący kod przenośny binarnie,
automatycznej konwersji danych transferowanych przez łącza
danych jest binarnie ujednolicona,
5. Proces serwera uruchamianego z superserwera inted dane powinien transferować
przez:
a)
b)
c)
d)
nowoutworzone gniazdko o parametrach z inetd.conf
gniazdko /var/run/inetd.pid z dziedziny lokalnej,
deskryptor z argumentów wywołania,
standardowe wejście i wyjście,
6. Standardowo kombinacja Ctrl+C wygenerowywuje do procesu pierwszoplanowego
sygnał:
a)
b)
c)
d)
e)
SIGQUIT,
SIGSTOP,
SIGKILL,
SIGINT,
SIGTERM,
7. Pamięć wspólną IPC Systemu V:
a) tworzymy funkcją shmcreate() i przyłączamy do pamięci swojego procesu funkcją
shmjoin(),
b) tworzymy funkcją shmget(), zostaje ona automatycznie przyłączona do przestrzeni
adresowej procesu,
c) tworzymy funkcją shmget() i przyłączamy do pamięci procesu funkcją shmat(),
8. Odpowiednikiem łącz są:
a) gniazdka surowe,
b) gniazdka w dziedzinie AF_INET,
c) gniazdka w dziedzinie AF_LOCAL,
9.Deskryptory plików w procesie potomnym:
a) są dziedziczone, ale zmiany w tych plikach są widoczne jedynie lokalnie,
b) nie są dziedziczone,
c) są dziedziczone, a zmiany w tych plikach są zmianami ogólnosystemowymi,
11. Który parametr procesu jest unikalny w systemie?
a)
b)
c)
d)
e)
PPID,
PID,
UID,
EUID,
PGID,
12. Sygnał przesyłamy do procesu za pomocą funkcji:
a)
b)
c)
d)
e)
kill,
sigaction,
signal,
sendsignal,
sendto,
13. Standardowo prekompilator rpcgen() wytwarza z pliku interfejsu:
a)
b)
c)
d)
kod z funkcją main() serwera,
kod z funkcją main() klienta,
plik nagłówkowy z definicjami,
plik z funkcjami XDR (jeśli jest konieczny),
14. Która norma komunikacji międzyprocesowej może być stosowana jedynie wtedy,
gdy punkt komunikacyjny został .......
a)
b)
c)
d)
e)
gniazdka w dziedzinie AF_INET,
gniazdka w dziedzinie AF_LOCAL,
kolejki komunikatów,
łącza nazwane,
łącza,
15. Dzięki funkcji select() możemy:
a)
b)
c)
d)
wybierać serwer, z którym chcemy się połączyć,
wybierać deskryptor, który ma być użyty do transferu danych,
dzielić strumień ze względu na nadawcę,
odbierać dane z wielu deskryptorów,
16. Zmiana wartości zmiennej w procesie potomnym:
a) wpływa na wartość zmiennych niezależnie od typu alokacji (static, auto etc.),
b) wpływa na wartość zmiennych globalnych oraz statycznych,
c) nie wpływa na wartość tej zmiennej w procesie macierzystym,
17. W programowaniu posiksowych wątków z każdą zmienną warunkową jest związany:
a)
b)
c)
d)
muteks,
obiekt IPC do synchronizacji,
blok pamięci wspólnej,
deskryptor otwartego pliku,
18. Usunięcie obiektu IPC uzyskujemy poprzez:
a)
b)
c)
d)
usunięcie pliku z argumentu funkcji ftok(),
wywołanie funkcji XXXdestroy,
uruchomienie programu ipcnm,
wywołanie funkcji XXXctl z argumentem IPC_RMID,
19. Stosowanie których mechanizmów jest niewskazane w programowaniu z wątkami:
a)
b)
c)
d)
e)
f)
asynchroniczne wejścia/wyjścia,
funkcja exec(),
funkcji przechowywujących wyniki częściowe w zmiennych globalnych lub statycznych,
funkcji plikowych,
funkcji ze standardowej biblioteki języka C,
sygnałów,
20. We współbieżnym serwerze TCP, pracującym w trybie "nowy proces dla nowego
klienta" rozwidlenia dokonujemy ......
a)
b)
c)
d)
e)
bind(),
connect(),
accept(),
listen(),
socket(),
21. W przestrzeni nazewniczej IPC System V obiekty są identyfikowane przez:
a)
b)
c)
d)
nazwy plików,
32-bitowe numery identyfikacyjne,
adresy hosta i numer portu,
nazwy w postaci łańcuchów znakowych,
22. localhost ma adres:
a)
b)
c)
d)
e)
255.255.255.255
192.168.0.1
127.0.0.1
10.0.0.1
0.0.0.0
23. Nowe procesy w unixie tworzymy za pomocą funkcji:
a)
b)
c)
d)
exec(),
new(),
fork(),
create_process(),
24. Załamanie serwera RPC powoduje:
a) załamanie klienta,
b) zwrot do klienta wartości NULL,
c) wygenerowanie wyjątku w kliencie,
25. Do wygenerowania klienta RPC jest nam niezbędny:
a)
b)
c)
d)
pieniek klienta,
pieniek serwera,
plik interfejsu serwera,
adres serwera,
26. Wątki mają wspólne:
a)
b)
c)
d)
e)
f)
zmienne globalne i statyczne,
zmienną errno,
stos,
zmienne lokalne niestatyczne,
kod,
deskryptory plikowe,
27. Deskryptory wytworzone przez funkcję socketpair() różnią się od tych
wytworzonych przez pipe():
a)
b)
c)
d)
dziedziczeniem po rozwidleniu,
możliwością zastosowania w trybie dwukierunkowym,
rozmiarem,
liczbą,
28. W pliku interfejsu serwera RPC za nagłówkiem funkcji wpisujemy:
a)
b)
c)
d)
ciało
numer
numer
tylko
funkcji,
funkcji: jest on używany wewnętrznie przez RPC,
funkcji: dopisze się on potem ze znakiem podkreślnika do funkcji w pieńskach,
średnik,
29. W IPv4:
a)
b)
c)
d)
adres
adres
adres
adres
ma 16bit, port - 32,
i port są 32-bitowe,
ma 32 bity, port 16,
i port są 16-bitowe,
30. Klient gniazdkowy, korzystający z trybu strumieniowego wywołuje funkcje:
a)
b)
c)
d)
bind(), connect() i read()/write(),
socket(), connect() i read()/write(),
socket(), accept() i read()/write(),
socket(), bind(), listen(), accept() i read()/write(),
31. Numer portu serwera RPC jest:
a)
b)
c)
d)
e)
podany w interfejsie serwera,
podany jako parametr przy uruchamianiu serwera RPC,
zaszyty w kodzie serwera,
ustalany przez zapytanie do serwera RPC o nazwie portmapper,
ustalany przez zapytanie do serwera DNS,
32. Serwer współbieżny w odróżnieniu od iteracyjnego:
a)
b)
c)
d)
tworzy przy starcie kilka procesów lub wątków,
nasłuchuje na wielu portach,
obsługuje równocześnie wielu klientów,
nie stosuje pętli for, tylko wywołanie fork() po instrukcji warunkowej,
33. Które zdania o wyniku zwracanym przez fork() są poprawne:
a)
b)
c)
d)
e)
wartość ujemna jest zwracana w przypadku niewykonywalności rozwidlenia,
wartość równa parametrowi wywołania oznacza sukces operacji,
wartość dodatnia jest zwracana w procesie macierzystym,
wartość zero jest zwracana w utworzonym procesie potomnym,
fork() nie zwraca żadnej wartości,
34. Punkt komunikacyjny dla łącz nazwanych tworzymy:
a) w systemie plików; ma on charakter systemowo nietrwały (istnieje do restartu
systemu),
b) w systemie plików; ma on charakter systemowo trwały (przeżywa restart systemu),
c) w tablicach systemu,
35. Które funkcje są nieblokujące:
a)
b)
c)
d)
sleep(),
wait(),
waitpid(),
kill(),
36. Niepowodzenie funkcji bind() jest najczęściej skutkiem:
a)
b)
c)
d)
brakiem serwera nasłuchującego na danym porcie,
użyciem portu zajętego przez inny proces,
użyciem portu mniejszego niż 1024 przy niewystarczających prawach,
żle skonfigurowanej sieci,
37. Argumentem funkcji pipe() jest:
a)
b)
c)
d)
e)
liczba wygenerowana przez ftok(),
łańcuch z nazwą łącza,
dwuelementowa tablica o elementach typu int,
wskaźnik na zainicjowaną strukturę sockaddr,
liczba zwrócona przez socket(),
38. Komunikaty IPC to:
a)
b)
c)
d)
dowolne struktury danych z pierwszym polem typu long,
dowolne struktury danych,
struktury danych typu svc_req,
struktury danych typu ipc_msg,
39. Gniazdko serwera UDP różni się od klienta brakiem wywołania funkcji:
a)
b)
c)
d)
listen(),
accept(),
bind(),
socket(),
40. Rygiel w wątkach posiksowych jest typu:
a)
b)
c)
d)
e)
f)
pthread_cond_t
pthread_t
int*
pthread_lock_t
int
pthread_mutex_t
41. Wątek tworzymy podając funkcji pthread_create():
a)
b)
c)
d)
e)
jaki będzie jego maksymalny czas pracy,
kto będzie jego właścicielem,
co tworzony wątek będzie robił,
gdzie ma zostać zapisany identyfikator wątku,
jaką część pamięci będzie współdzielił z wątkiem macierzystym,
42. Dane przesyłane między aplikacjami w Javie, uruchomionymi na
heterogenicznych systemach:
a)
b)
c)
d)
mogą
mogą
mogą
mogą
być
być
być
być
przesyłane bez konwersji, o ile są to dane znakowe,
przetaczane przez filtr XDR,
przesyłane bez konwersji,
konwertowane do postaci sieciowej,
Kolor :
--- : ver. 1.0