Professional Documents
Culture Documents
April 2008 (100) - Odgovori
April 2008 (100) - Odgovori
Odgovori
Odgovor: ADBDBC
2. U sistemu postoje četiri procesa, P1, P2, P3 i P4, i po dve instance dva tipa resursa R1 i R2. Odigrao se
sledeći scenario: P4 traži jednu instancu R2, P3 traži jednu instancu R1, P1 traži jednu instancu R2, P2 traži
jednu instancu R1, P3 traži jednu instancu R2, P1 traži jednu instancu R1. Posmatra se trenutak nakon
ovog scenarija.
Nacrtati graf dodeljivanja resursa u ovom trenutku. Da li u sistemu u datom trenutku postoji uzajamno
blokiranje (deadlock)? Precizno obrazložiti odgovor.
P1 P3
R2
P4
3. Unix indeksni čvor sadrži 12 direktnih pokazivača, 1 indirektni, 1 dvostruki indirektni i 1 trostruki indirektni
pokazivač. Pretpostavka je da svaki 32-bitni pokazivač pokazuje na jedan blok od 8KB. Kolika je veličina
datoteke koju podržava ovakav indeksni čvor?
Odgovor:
12 x (1 blok) + 1 x (2k pokazivača) x (1 blok) + 1 x (2k) x (2k) x (1 blok) + 1 x (2k) x (2k) x (2k) x (1 blok)
= 12 x 8kB + 2k x 8kB + 4M x 8kB + 8G x 8kB = 96KB + 16MB + 32GB + 64TB ≈ 64TB.
1/3
4. Data je tabela memorijskih segmenata:
Segment Početna adresa Dužina Koja fizička adresa odgovara logičkoj adresi 2,100?
0 219 600
1 2300 14
Odgovor: 190
2 90 101
3 1327 58
4 1952 96
5. U redu zahteva za pristup disku nalaze se zahtevi za pristup sledećim cilindrima (po redosledu
pristizanja): 56, 37, 89, 124, 64, 35, 45. Prethodno opsluženi zahtev bio je na cilindru 50, a glava se
kreće prema cilindrima sa većim brojevima. Napisati redosled opsluživanja ovih zahteva ukoliko je
algoritam raspoređivanja:
a) Look
Odgovor: 56, 64, 89, 124, 45, 37, 35
b) C-Look
Odgovor: 56, 64, 89, 124, 35, 37, 45
6. Četiri procesa su u trenutku t=0 ušla u red čekanja na procesor po sledećem redosledu: P1, P2, P3, P4.
Vremena izvršavanja (burst time) za ova četiri procesa iznose: 6, 3, 1 i 7 vremenskih jedinica. Ukoliko se
procesi raspoređuju prema algoritmu Round Robin sa kvantumom 3, popuniti sledeći Gantov dijagram
dodele procesora:
P1 P1 P1 P2 P2 P2 P3 P4 P4 P4 P1 P1 P1 P4 P4 P4 P4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
8. Za dodeljivanje memorije u kernelu operativnog sistema primenjuje se partnerski binarni sistem (Binary
Buddy). U nekom trenutku stanje zauzetosti prikazano je na donjoj slici (prikazani su blokovi i njihove
veličine izražene u broju stranica; osenčeni blokovi su zauzeti, beli su slobodni). Prikazati na isti način
stanje nakon izvršavanja zahteva za dodeljivanjem memorije veličine 1 stranice.
4 2 2 4 4
Odgovor:
4 1 1 2 4 4
2/3
9. Posmatra se disk sa 8 sektora po traci i 512 bajtova po sektoru. Disk rotira brzinom od 3000 obrtaja u
minuti a vreme pozicioniranja (seek time) je 15 ms. Na disku se nalazi datoteka koja zauzima 8 blokova.
Izračunati ukupno vreme pristupa datoteci ukoliko je upotrebljeno:
a) dodeljivanje kontinualnog prostora
b) indeksirano dodeljivanje
Odgovor:
Vreme prenosa (a) = broj bajtova koji se prenose/(broj bajtova na stazi * 50 obrtaja u sekundi) =
= 4096/(4096 * 1/50)) = 20 ms
Vreme prenosa (b) = broj bajtova koji se prenose/(broj bajtova na stazi * 50 obrtaja u sekundi) =
= 512/(4096 * 1/50)) = 2,5 ms
10. Procesi Alarm i Passengers prikazani dole treba da se sinhronizuju na sledeći način. Proces
Passengers signalizira ulazak i izlazak putnika iz neke obezbeđene zone. Proces Alarm treba da
čeka blokiran sve dok broj putnika koji su trenutno u obezbeđenoj zoni ne pređe neki prag THRESHOLD.
Tada treba da se deblokira i uključi alarm pozivom operacije alert. Realizovati monitor Posmatrac
koji obezbeđuje opisanu sinhronizaciju pomoću klasičnih uslovnih promenljivih.
process Alarm() process Passengers()
{ {
while (1) { while (1) {
signal(); entry();
alert(); exit();
} }
} }
Odgovor:
monitor Posmatrac {
int integer;
condition threshold;
void signal() {
while (count <= THRESHOLD) cwait(threshold);
}
void entry() {
if (++count > THRESHOLD) signal(threshold);
}
3/3