Szczecin, dn, 14 czerwiec 2000 r
Kierunek INFORMATYKĄ- studia magisterskie dzienne PODSTAWY SYSTEMÓW OPERACYJNYCH - Grupa B
Imię. i nazwisko:...................................................................... . Ocena:..................................
•V. Nr zadania ■ ■' |
• :'T Max.liczba punktów ' “P-jl' Uzyskana liczba punktowi • :• |
| A" ••••••" |
■ 0.5 || |
| -.:-2 |
li |
! ’ ** *** o* * X |
i.o H |
i uzy A |
.........0-5 II 1 |
! 5 | |
10 || ... I |
1 -6'- . 1 |
0.5 I | |
i |
0.5 1 _. 1 |
1. :8,. • 1 |
1.0 || I |
Razem: j |
6.5 || 1 |
Peanie 1 (C.5 punktuk
ZałOzmy, ze dwa procesy współdzielą pamięć w sposób przedstawiony poniżej. Podaj możliwe wartośi wydrukowanych parametrów h oraz c dla każdego z procesów. Przyjmij, że operacje przypisania jeżyk* C są oiepoazielne.
PO wyka nu itr: |
Pi execuies: |
shetred int a;. |
sharzd int a: |
int b.c: |
int b.c: |
W- |
a=IO0: |
a-b: „ ___„ |
ó=a; |
-—3 |
c~b~i?: |
Pr mi (b.c); |
Prinid.cJ: |
Pytanie 2 < I 5 punktl:
Danajest definicja semafora uogólnionego s:
waltfs): s •> r-/; if(s<0) sleep(s);
Zastosujmy semafor uogólniony do problemu produccnt/kcnsument (I producent i I konsument):
semaphore muieijiill.empty; (początkowa fult-O.empry-5 .mutez^ i) ihared int buf(5]. I, Hem; (iniiialfy i™4. iłem “O)
kod producenta:_kod konsumenta:
int focafoał: | |||
i |
while/TRUE) ( |
1 |
while(TXUQ ( |
2 |
iłem » iłem ■* 10; |
2 |
wait(fułl); |
3 |
wait(empty): |
3 |
wait(mutex); |
A |
wali (muttst); |
4 |
iocahal a buf [i): |
5 |
i = h 1; |
5 |
i *= i-i: |
6 |
if(, = = Jjr = 0; |
6 |
if(i < 0) i " 4 ; |
7 |
buf fi) * Hem. |
7 |
Signał(muiex); |
8 |
signal(mutexj; |
8 |
signoi(empty): |
9 |
signal(full): |
9 |
print(łocalvuł); |
) |
} |
(a) Wyjaśnij rolę każdego 2 Semaforów mulez.full i empiy.
(b) W pewnym momencie w trakcie wykonywania, producentowi odebrano CPU i podczas, gdy producent oczekuje na jego ponowny przydział, konsument (po otrzymaniu procesora) wykonuje linię 9. drukując wartość 30 i następnie został zawieszony na semaforze ful! w linii 2 Jakie w tym punkcie są wartości semaforów mutex. fuli oraz empry? Uzasadnij, jak doszedłeś do sformułowanej Odpowiedzi?
(e) Po wystąpieniu zdarzenia opisanego w pkt.(b). producent wykonuje się do momentu ponownego zawieszenia się na semaforze. W tym czasie, konsument nic wykonuje się. Jakie są wartości fu/1. empry, i. Hem, oraz buffo] do buf[4]l W którym miejscu programu Znajduje się konsument’ Wyjaśnij.
(d) Po zdarzeniach z pkt. (c), konsument wykonuje się dotąd, dopóki drukuje (producent nie wykonuje się).. Jakie są wartości
drukowanych ficzb?
Pytanie 3: [1.0 punk:)
Rozważmy system, który posiada tylko 3 ramki pamięci, ponumerowane odpowidnio 0, 1 i 2. Załóż. Ze pamięć operacyjna jest początkowo pusta (tj. do pamięci nic załadowano jeszcze żadnego procesu). Uruchamiamy proces, 0 rozmiarze 7 stron, zaetykietowanych odpowidnio: A. B. C. O, P., F oraz G. W trakcie wykonywania proces wymaga obecności stron w pamięci w następującej kolejności: DDCACCAABŁfF. Korzystając z algorytmu wymiany typu namniej uiywana strona (LFU) przedstaw