Systemy Operacyjne
Zadania z pierwszego terminu egzaminu 2005
Zad.1
Opcja –perm +432 /find znajdzie pliki o prawach dostepu: a) - wxr - - r-x b) - wx - wx - wx c) r - - - wx - w Zad.2 W skrypcie A = ”xxxyyyxxxyyyz” wyrazenie ${A##x*y}: a)z b)xxxyyyz c)yyxxxyyyz
Zad.3
Wynikiem wykonania instrukcji shellowych B = (11 22 33 44) echo${B[6]:${#B[@]}-1} a) 11 22 33 44 b) 22 33 44 c)44 Zad.4
Pewien program foo.c w jezyku C korzysta ze zdefiniowanej funkcji w bibliotece $gcc foo.c –lbar
a) libbar.a b)bar.a c)bar.so Zad.5
Pewien program w jezyku C uzywa funkcji systemowej mkfifo() do utworzenia
potoku. Z tego potoku korzystaja: a) dowolne procesy w systemie b) procesy potome utworzone po wykonaniu funkcji pipe()
c) wszystkie procesy potomne Zad.6
Po pomyslnym wykonaniu dowolnej funkcji grupy exec oddaje ona: a) nic nie oddaje
b) wartosc oddawana przez wywolana funkcje systemowa
c) kod wyjscia wywolanego podprogramu
Zad.7
Proces potomny jest kopia procesu rodzicielskiego, a w szczegolnosci: a) zmiana dowolnej zwyklej zmiennej wspoldzielonej w jednym procesie będą widoczne w drugim
b) w obu procesach zmienne o tych samych nazwach posiadaja taki sam adres fizyczny
c) wskaznik od (?) zapisu pliku otwartego przed fork zmieniony w jednym procesie spowoduje zmiane tego samego wskaznika w drugim procesie
Zad.8
Wynikiem wykonania instrukcji shellowej (echo –n 1;i)||echo –n 2 &&(echo –n 3 ||[1==2]) jest: a) 123 b) 12 c)13 Zad.9 (?????????????????????) … printf(getpid());
for (i=0, i<5, i++) fork(); exit(0);
… Zad.10
Kill(-500(?), SIGINT) wysle sygnal SIGINT do wszystkich procesow o: a) UID = 500 b)GUID = 500 c)EUID = 500
Zad.1
Opcja -perm +432 /find znajdzie pliki o prawach dostepu: NIE a) - - w x r - - r - x TAK b) - - w x - w x - w x TAK c) - r - - - w x - w - Zad.2 W skrypcie A = "xxxyyyxxxyyyz" wyrazenie ${A##x*y}: TAK a) z NIE b) xxxyyyz NIE c) yyxxxyyyz Zad.3
Wynikiem wykonania instrukcji shellowych B = (11 22 33 44) echo ${B[6]:${#B[@]}-1} NIE a) 11 22 33 44 NIE b) 22 33 44 TAK c) 44 Zad.4
Pewien program foo.c w jezyku C korzysta ze zdefiniowanej funkcji w bibliotece $gcc foo.o -lbar
TAK a) libbar.a NIE b) bar.a NIE c) bar.so Zad.5
Pewien program w jezyku C uzywa funkcji systemowej mkfifo() do utworzenia
potoku.
Z tego potoku korzystaja:
TAK a) dowolne procesy w systemie TAK b) procesy potomne utworzone po wywolaniu funkcji pipe()
TAK c) wszystkie procesy potomne Zad.6
Po pomyslnym wykonaniu dowolnej funkcji grupy exec oddaje ona: TAK a) nic nie oddaje
NIE b) wartosc oddawana przez wywolana funkcje systemowa NIE c) kod wyjscia wywolanego podprogramu
Zad.7
Proces potomny jet kopia procesu rodzicielskiego,a w szczegolnosci: NIE a) zmiany dowolnej zwyklej zmiennej wspoldzielonej w jednym procesie beda widoczne w drugim
NIE b) w obu procesach zmienne o tych samych nazwach posiadaja taki sam adres fizyczny
TAK c) wskaznik od (?) zapisu pliku otwartego przed fork zmieniony w jednym procesie spowoduje zmiane tego samego wskaznika w drugim procesie
Zad.8
Wynikiem wykonania instrukcji shellowej (echo -n 1; i) || echo -n 2 && (echo -n 3 || [1==2]) jest:
NIE a) 123 NIE b) 12 TAK c) 13 Zad.9
Wykonanie fragmentu programu (kod zrodlowy w jezyku C)
...
printf (getpid());
for (i=0, i<5, i++) fork(); exit(0);
...
spowoduje:
TAK a) utworzenie dokladnie 31 procesow (procesu programu nie liczymy) TAK b) wsrod utworzonych procesow dokladnie 5 bedzie mialo PPID rowny wielkosci wypisanej na ekranie NIE c) utworzenie dokladnie 32
procesow (procesu programu nie liczymy) Zad.10
Kill (-500(?), SIGINT) wysle sygnal SIGINT do wszystkich procesow o: NIE a) UID = 500
TAK b) GUID = 500 NIE c) EUID = 500