1.
Po wywołaniu funkcji fork:
a)
nowy proces otrzymuje kopię segmentu danych procesu
rodzica,
b)
nowy proces ma ten sam UID i GID jak proces rodzica,
c)
nowy proces ma inny PPID niż jego proces rodzicielski,
d)
proces rodzicielski zawsze czeka na zakończenie działania
swojego potomka, po czym jego wykonanie jest wznawiane.
2.
Proces w systemie UNIX:
a)
po przejściu do stanu „wykonywany w trybie użytkownika”
pozostaje w nim tak długo dopóki nie wywoła w nim jakiejś
funkcji systemowej – co stanowi jedyny sposób na
przekazanie przekazanie procesora innemu procesowi,
b)
posiada przypisany stały priorytet, który wykorzystywany
jest przez zarządcę procesów w algorytmie szeregowania
zadań: priorytet ten może jednak zostać zmieniony
poleceniem renice,
c)
może zmienić swój identyfikator UID, ale tylko wówczas
gdy wykonuje się jako proces systemowy (na rzecz
użytkownika root),
d)
z wyjątkiem procesu INIT tworzony jest wyłącznie poprzez
wykonanie specjalnej funkcji fork lub vfork
3.
Wyjaśnij pojęcia: segmentacja pamięci - (podzielenie
pamieci na mniejsze bloki) program – (kod wykonywalny
zapisany na dysku) U-obszar – (UAREA opisuje stan
procesu, struktura opisująca korzeń sys. plików dla
procesu, stosowane do zamiany nazwy ścieżkowej na i-
węzeł) kontekst procesu – (informacje sterujące, zawiera
m.in. licznik rozkazów)
4.
Po uruchomieniu poniższy program wyświetli napis Ala:
#include <stdio.h>
int main (void)
{ if (fork ()) { fork (); fork () }
fork (); puts („Ala”); return 0; }
a) 16 razy,
b) 10 razy,
c) 8 razy,
d) 12 razy,
5.
Kod powrotu zwrócony przez proces potomny
uruchomiony w środowisku shell’a zapisana jest w
zmiennej specjalnej:
a) $#
b) $?
c) $@
d) $%
6. Rozpatrzmy trzy polecenia: A) echo *
B) echo „*”
i C) echo \*
a)
w przypadku B i C zostanie wyświetlona gwiazdka,
b)
w przypadku A i B zostanie wyświetlona lista plików w
bieżącym katalogu,
c)
tylko w przypadku A zostanie wyświetlona lista plików w
bieżącym katalogu
d)
we wszystkich przypadkach zostanie wyświetlona gwiazdka
gdyż znak ten nie pełni żadnej specjalnej funkcji,
7.
Co można powiedzieć o wykonaniu się poleceń cmd1 i
cmd2, jeżeli zostało wydane następujące zlecenie: cmd1
&& cmd2:
a)
polecenie cmd2 wykona się warunkowo w przypadku
powodzenia polecenia cmd1,
b)
polecenia wykonają się sekwencyjnie jedno po drugim,
c)
polecenie cmd2 wykona się warunkowo w przypadku
porażki polecenia cmd1,
d)
polecenia cmd1 i cmd2 wykonają się potokowo,
8.
Jeżeli prawa dostępu do pliku skrypt prog. sh można zapisać
ósemkowo w następujący sposób - 157, to:
a)
właściciel posiada wprawdzie prawo do wykonania, jednak
uruchomienie skryptu nic jest możliwe, bo nie ma prawa jego
odczytu.
b)
jakikolwiek inny użytkownik należący do grupy właściciela może
uruchomić skrypt, ale nic może modyfikować jego zawartości.
c)
dowolny użytkownik, który nie należy do grupy właściciela, może
skutecznie zmodyfikować zawartość skryptu.
d)
ponieważ właściciel pliku należy do grupy, która ma prawo
odczytu skryptu, zatem może i on wyświetlić zawartość skryptu
przy pomocy polecenia more prog.sh.
9.
Zakładając rozmiar 1024 bajty dla bloku dyskowego i 4
bajtowy numer bloku, określ maksymalną długość pliku
(zakładamy istnienie 10 bloków bezpośrednich i
wykorzystanie tylko dwóch poziomów pośredniości).
10. Które z poniższych stwierdzeń o sygnałach są nieprawdziwe:
a)
(?) sygnał SIGCHLD (śmierć potomka), o ile nie zostanie
przechwycony, powoduje przerwanie pracy proces
rodzicielskiego.
b)
sygnał SIGKILL nie może zostać przechwycony,
c)
po zakończeniu obsługi przechwyconego sygnału, system zawsze
wznawia przerwana funkcji systemową niezależnie od jej rodzaju,
d)
po wylogowaniu się użytkownika, sygnał SIGHUP jest wysyłany
do grupy procesów przypisanych do jego terminala.
11.
Polecenie ls | xargs –i echo {} i ls | xargs echo
a)
(?) wyświetlają tą samą informację, ale w innej formie,
b)
wynik działanie polecenia będzie identyczny,
c)
pierwszy przypadek jest składniowo niepoprawny, gdyż para
znaków {} wymaga cytowania,
d)
oba polecenia są poprawne składniowo ale w drugim przypadku
nic nie zostanie wyświetlone bo echo nie ma argumentu,
12.
Korzytając z programu sed napisz polecenie które w pliku
tekstowym wymieni każde wystąpienie napisu <FILENAME>
ścieżkową nazwą pliku (przykładowo /usr/lib/libC.so) zawartą
w zmiennej o nazwie FILENAME
13.
Co należy zrobić aby skryptowe polecenia cmd potraktowało
4 kolejne wiersze skryptu jako zawartość swojego
standardowego wejścia
14.
Użytkownik w shell’u ksh napisał polecenie ls
+(abr|pr?)?(.cpp) oznacza to że mogą zostać wyświetlone
pliki:
a) (?) prabr i abr.cpp,
b) (?) abrpr2abr i prN.cpp,
c) .cpp i prZabr, d) abrabr.cpp i prZpry
15.
Co należy dopisać do skryptu w awk aby można było go
uruchomić bezpośrednio z poziomu shell’a
Możliwe są dwa parametry a musi być przynajmniej jeden parametr
.[wzorzec] [{procedura}]
16.
Zakładając rozmiar 512 bajtów dla bloku dyskowego i 4
bajtowy numer bloku określ maksymalną długość pliku
(zakładamy istnienie 10 bloków bezpośrednich i trzech
poziomów pośredniości)
17.
Liczba NI (nice):
a)
(?) oznacza absolutny żądany priorytet dla uruchamianego
procesu
b)
(?) jej ujemna wartość oznacza że priorytet procesu będzie
podwyższony
c)
(?) priorytet procesu wyliczany jest dynamicznie z
uwzględnieniem wartości NI
d)
dla procesu prog wynosi minus pięć, jeśli użyje się
wywołania /usr/bin/nice –5 prog
18.
funkcja systemowa exec:
a)
uruchamia polecenie systemowe o podanej nazwie,
b)
tworzy nowy proces na podstawie pliku wykonywanego o
podanej nazwie
c)
nie tworzy nowego procesu tylko zmienia kontekst
użytkownika nowego procesu (segmenty kodu, danych i
stosu)
d)
jeżeli ustawiony jest bit SetUID w pliku binarnym to po
pozytywnym załadowaniu nowego kodu zmienia efektywny
identyfikator użytkownika na UID właściciela pliku
19.
jaki jest wynik działania powyższego programu:
#include <stdio.h>
void main (void)
{ alarm (4); pause (); puts („obudziłem się...”); }
a)
proces po 4 sekundach wypisze komunikat „obudziłem się..”
b)
program jest niepoprawny gdyż nie podano argumentu
funkcji pause ()
c)
proces zostanie awaryjnie przerwany po upływie 4 sekund na
skutek nieprzechwyconego sygnału SIGALRM
d)
ponieważ funkcja pause () czeka na dowolny sygnał więc
naciśnięcie klawisza ^C przed upływem 4 sekund powinno
wymusić wypisanie napisu „obudziłem się..”
20.
wskaż błędne twierdzenie
a)
(?) polecenie mount i umount dostępne jest dla każdego
użytkownika systemu (można je skutecznie wykonać)
b)
(?) zawartość katalogu będącego punktem montowania staje
się niedostępna od momentu odmontowania systemu plików
c)
system plików można podmontować z ograniczeniem
dostępu tylko do operacji czytania (mount –r)
d)
(?) w niektórych wersjach systemu nowy system plików
tworzy się za pomocą polecenia mkfs
e)
liczba plików w standardowym systemie plików jest
limitowana tylko wielkością dostępnego obszaruwolnych...
21.
wyjaśnij pojęcia: stronnicowanie pamięci- podział
pamięci na strony, proces- segment danych segment
kodu, super block- wszystkie wolne i-węzły i bloki
dyskowe, grupa procesów- jeden proces tworzy następne,
22.
zinterpretuj zawartość rekordu pliku /etc/passwd na
podstawie poniższego przykładu
beta (login); :/fvd2IzaTlgxI (hasło); 103-(UID); 500-(GID); Beata-
(imię); Kubicka-(nazwisko); /u/bea-(katalog domowy);
/usr/bin/ksh (powłoka używana)
23.
proces utworzony poleceniem db2 <wsad.cuts &
a)
nie będzie posiadał terminala sterującego, zatem próba zapisu
przez niego czegokolwiek na standardowe wyjście
spowoduje zatrzymanie procesu na skutek sygnału
SIGTTOU
b)
proces zostanie uruchomiony w tle tzn. shell nie będzie
oczekiwał na jego zakończenie
c)
wyniki działania procesu zostaną zapisane do pliku wsad.out
d)
po wylogowaniu się proces użytkownika nie zostanie
przerwany gdyż pracuje w tle
24.
użytkownik w shell’u bash napisał polecenie ls lib
{c*,d?}.{sl,so} oznacza to że mogą zostać wyświetlone
pliki:
a) libc0.s1 i libdce.so,
c) libd2.s0 i libc.sh,
b) libd.sh i libc12.so,
d) libdf.s1 i libc0.so
25.
liczbę parametrów pozycyjnych zapisana jest w zmiennej
specjalnej
a) $#,
b) $?,
c) $@,
d) $%,
26.
Zmienną środowiskową jest:
a)
każda zmienna zdefiniowana poleceniem typu var=value (np.
var=12)
b)
zmienna jawnie wyeksportowana przy pomocy polecenia
export
c)
zmienna var jeśli wcześniej zostało wydane polecenie
typeses –x var
d)
każda zmienna w procesie potomnym, jeśli program zostanie
wywołany w sposób: <nazwa_programu>
<zmienna>=<wartość>..., np.ksh ala=12,
27.
jeżeli maska praw dostępu do plików została ustawiona
następująco: umask 246 to po wydaniu ciągu poleceń
echo „Ala” > a; mkdir b otrzymamy następującą
kolumnę przy poleceniu ls
a) –r---w---- a;
dr-x-wx—x b
b) -----w—r a;
d—x-wx-r- b
c) –r-x-w---- a; -r-x-w---- b
d) –rw-r----- a; drwxr-x—x b
28.
jakie warunki muszą być spełnione aby właściciel mógł
uruchomić swój skrypt shell’owy:
a)
musi mieć prawo odczytu pliku
b)
prawo odczytu nie jest wystarczające, potrzeba dodatkowo
prawa do jego wykonania
c)
prawo do wykonania jest wystarczające
d)
wystarczy prawo do odczytu ale tylko wówczas gdy skrypt
wykonujemy w bierzącym shell’u przy pomocy polecenia
kropka (.)