Kierunek INFORMATYKA - studia magisterskie dzienne PODSTAWY SYSTEMÓW OPERACYJNYCH . Grupa A
Maksymalnie:. 14 punktów Zalicza: 7 i więcej punktów
[l pkLj Pytanie 1
(a) Załóżmy, że dvi procesy współdzielą, pamięć operacyjną, jak pokazano poniżej (nJhared oz«*caa wspólną onrcrmą) Podt j możliwe wielości zmiennych i i b. które pojawią ńę ni ekran** (operacja Mim) oaz podaj który z procetów wyświetlił te dane az ekranie. Przypnij żc operacje pobita ni*, zapisywania i tcsiowaoia są niepodzielne (stąd np. operacja *-b-a je*r o *-po dzielną)^
PO wykonuje: ; <
shar«tf 'iitt a;
int Ł>; , ^ t l7“l ; a—l000;
a;
Prlnt <a,b>
+ f
(b) Jak Am
tint ta# o) ». i /mtWYtiłowmc ptrayzsz
PI wykonuje:
shued int a,
j
i t i p i **iOQ; fcv=2;
Pr lat (a r bp ;
;zy kod. łby mirr pewność, że każdy z procesów wyrwie di jedpozoaczne wartości a i b przy każdym
ponownym utuebomkaiu procesów? Można zastosować dowolne techniki poznane podczas wkładów i zajęć bbuŁRtorj-jnycb.
(1.5 pkL] Pyuoie 2
Rozważ następujący ciąg odniesień 0123 + 505 I 42 3. Przyjmując. £c rysiem posiada 3 ramki pokaż zawartość pamięci po każdym oówohw się do kolejnej strony oeaz oblicz liczbę błędów StrOa w przypadku każdego z trach algorytmów jEStępowauua stroo: (a) FfFO, (b) Oprymalny i (c) LRU. (
[2 pkt.| Pytanie 3
Przypomnij sob*c, te poprawne rozwiązanie problemu sekcji krytycznej (SłQ musi spełniać 4 warunki:
Cl* Żadne dwa procesy- mr mogą jednocześnie znaleźć się w swoich sekcjach krytycznych.
C2- Ntc przyjmuje nę żadnych założeń dotyczących prędkości onz liczby CPU.
O Żaden ł procesów pracujących po w SKiue może blokować innych procesów.
CA- Żaden z procesów nir powinien czekać w ńifslroó.casooosć na wejście do swojej sekcji krytycznej.
Poniżej przędatiwiono pewien kod, który próbuje rozwiązać problem SK dla dwóch procesów. Kod ten nic jest poprawny. Dh każdego z Warunków Cl,C2jC3£H odpowiedz. czy kod je spełnia i jeib nie - ukradnij swoją odpowirdż, podając ictmmn, który pokaże w jaki sposób warunek jest naruszony.
ahared int tum, flag(2]; Initially tmtn=0, £lag»={0,03
PO wykonuje:_
wilileU) {
TiagtOl - 1; tticn «= 0; wtui<(tu£7i = 0> ; if ( flagtl] — O ) { SK O;
flagfOJ 0;
**.«-SKO :
}
}
PI yyteomtjc:
whiletl) <
flagCl! = 1; tum ** 1 ; whilm (tum =■=!); if< flag[0] = 0 ) {
sk{) ;
f^-ag{l] ~ 0; Nie-SKO ;
)
}
Łnt: waln(void>
i
FILE *tp;
char *adstring « "cat pipepen.c*;' j cłuu; buf {80] ;
it ((fp ■ popon ( cmdstring, ’z~Jf MrtrT.y
{ ^
perrocCpcpas
«w-ta) ;
)
włiil« (<fgetsCł>uf# BO, £p) ) ?*• HULL)
prltitf , buf) ;
pclo»«(£p> ; ejcit(0) ; return (0) ;
)
{] pkt.J Pytanie 7 {Uoix)
Rozważmy następujący ciąg inatrukcji (fwT jest ptogeatoem z pytanW ó):
mXf±fo -« 600 fxfoN cat < fifoN | cut —cl-5 6 ,/fwr > fifoH
Co zobaczymy na ekranie? (L^waga. Proszę podać opisowo co robi powyższa sekwencja poleceń beż ucirkania fię do próbj' wypisom* dokładnego ciąga znaków, któce pojawia i a? n* ekranie).
]0.3 pkt] Pyljuiir 8 (Uubć)
G? będą zawierały (opirow^o) odpowiednio płii łUta i wyk?
| I... 3 $ ls HR / > lista 2> wyk £
A co w tym przypsdfai?
| t. . . Jt I* -R / > lista 2> wyk c
[l pkt.J Pycjoic 9 (Unix)
Omów dzaaUuir algorytmów koóczema oraz oczekiwania «a zakońcaeaśr wrkoarwsnit proersw. ^k bo^zorat ąpann typu ąwwirr? A jak
typu BfTwkf*
(0.5 pki.J Pytanie 10 (L'nlx)
Podaj przynajmniej trzy sposoby •łtwooeaia plftu w iy? ternie linuic.
(0.5 pkt) Pytanie 11 (Unóc)
W katalogu /dwnmieiżcżooy jeit jrwyilc pfjko nazwie cdrwn, który jest dowiązaniem do pliku, obsługi CDROM. Załóżmy, żr takiego pliku lam nic *tnt, ale wiemy, ie plik Zwiążmy z CDROM OAzywa /derr hdc. Podaj poleccuic, które tx<nzf dowiązanie cdnom do 'des*/ bdc,
J0.5 pkt j Pytanie 12 (Uttóc)
Lo zobaczymy na ekranie po wyknnaom ojtataiego poićcrmi (spośród pięciu pczedstawkutych pookkej):
$ echo "<łwar > test. dat $ echo 'trzy* > test.dat $ eoho $? » teat.dat $ *cho ‘‘trzy*1 » test.dat $ cat test.dat
(2 pkt.J Ppiiif 4
W zakładzie izyzjersktni jcąt poCZekainii z O krzesłami i gabro* z pdoyai tylko fotelem. Jeśli brakuje klientów, to fryzjer 2wytl po prostu zaarpiar w Fotelu, jeśli w poczekało i nie ma wolnych miejsc, to nowy klienf »k wchod/i do środka. Gdy fryzjer jest zajęty, ale jeat wohne miejsce, wtedy klienta po ponu nada ru krześle w poczekalni jeśli fryzjer śpi w fotelu, to klient go budził. Naszkicuj w paeudokodfre program koordynujący zachowmii fryzjwa i klientów.
[2 pktj Pytanie 5
Rozwiitnydwwwpinttcową tablicę A (dębnieja w jeżyku C)i int aflOOlflOO);
przy czym AJO^O] znajduje się w komórce 200 syslemo attrooicowanej pamięci, której strony maja rozmiar 2GG komórek Na stronie 0 znajduje się miły proces (komórki od 0 do 199) tuincpułujący la tablicą, lik Więc każdy rozkaz będzie pobierany ze strony 0. He błędów balu rtroijr wygeneniją na*tępając« pętk imcjacji przy założeniu, żr operujemy na trzech umkarb przy użyciu ałgoiytuu z»tępo*-1 tai* LRU, poty czym ramka I uejru proces, a dwir pozostałe są początkowo puste;
for O-O; j<l00; ;>++> ^
for (i«0; i<100; i-ł-f) 4
WIJU) B 0;
|L5pk.| Pytanie 6 (Unix)
Wyjaśnij, jaki będzie a^nik działania otnirjtzego progoumor Dokładniej, co zobaczymy na ekranie po skoro piłowaniu i uruchomieniu programu (przyjmijmy, ze po postać wykonywalna tego programu przechowywana jest w pliku (wr).
♦includ* <stdio.h>
fdcflne KAXSTR£ 3