Septembar 2008 (100) - Odgovori

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

2008 Operativni sistemi - Septembar 2008 (ispit za 100 poena)

Odgovori

1. Šta će biti rezultat izvršavanja sledećeg programa:


#include <sys/types.h>
#include <stdio.h>
int main(){
pid_t pid;
pid = fork();
if (pid ==0) {
printf(“A”);
fflush(stdout);
printf(“D”);
fork();
printf(“B”);
}
else if (pid > 0){
wait(NULL);
printf(“C”);
}
}

Odgovor: ADBDBC

2. U nekom sistemu postoje tri procesa (P 1 , P 2 , P 3 ) i tri resursa (R 1 – 3 instance, R 2 – 2 instance, R 3 – 1


instanca). Potrebno je nacrtati graf zauzetosti resursa posle sledeće sekvence zauzimanja: P 1 -R 2 , P 2 -
R 3 , P 3 -R 1 , P 2 -R 1 , P 1 -R 3 , P 2 -R 1 , P 3 -R 2 , P 2 -R 2 . Punim linijama označiti dodeljene resurse, a
R

isprekidanim zahtevane (još nedodeljene) resurse.

Da li u sistemu tada postoji uzajamno blokiranje (deadlock)? Precizno obrazložiti odgovor.

Odgovor:

R1 R2 R3

P1 P2 P3

U sistemu ne postoji uzajamno blokiranje, iako postoji kružno čekanje (petlja označena crvenim granama)
jer druga instanca resursa R 2 ne pripada petlji. Naime, proces P 3 nije blokiran i može da završi svoje
izvršavanje, čime će osloboditi svoje resurse, pa i R 2 koji drži. Oslobađanjem jedne instance R 2 proces P 2
R

može da je zauzme i time se deblokira, a grana imeđu P 2 i R 2 menja smer i postaje R 2 → P 2 . Tada u
grafu više nema petlji, jer iz P 2 više ne izlazi ni jedna grana.

1/3
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.

4. Data je tabela memorijskih segmenata:


Segment Početna adresa Dužina Koja fizička adresa odgovara logičkoj adresi 3,100?
0 219 600
1 2300 14
Odgovor: 201
2 1327 58
3 101 101
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

7. Kako CPU zna da je I/O uređaj završio zadatu DMA operaciju i da je spreman za sledeću?
a. Koristi uposleno čekanje (busy waiting) ili prozivanje (polling): CPU očitava statusni registar uređaja,
ispituje bit spremnosti i ponavlja to isto sve dok bit spremnosti ne bude postavljen.
b. Koristi prenošenja poruka (messaging): Uređaj samostalno šalje poruku o tome da je završio prenos
koristeći pipes, sockets ili mailbox mehanizme.
c. Koristi mehanizam prekida (interrupt): signal sa bita spremnosti je povezan na ulaz za prekid
procesora; kada uređaj postane spreman, procesor dobija prekid i u prekidnoj rutini zadaje novu
operaciju.
d. Koristi sistemski tajmer: Nakon što istekne unapred zadato vreme, CPU je siguran da je prenos
završen tako da nema potrebe da ga uređaj o tome obaveštava.

8. Posmatrajte sistem virtuelne memorije sa tri okvira koji su u početnom trenutku prazni. Dat je sledeći niz
od 20 memorijskih referenci: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6.

2/3
U datoj tabeli skicirajte stanje u memorijskim okvirima i odredite koliko će se PF (Page Fault) prekida
dogoditi ukoliko se zamena stranica obavlja po algoritmu FIFO.

Referenca 1 2 3 4 2 1 5 6 2 1 2 3 7 6 3 2 1 2 3 6
PF (da/ne) da da da da ne da da da da da ne da da da ne da da ne da da
Okvir 1 1 1 1 4 4 4 4 6 6 6 6 3 3 3 3 2 2 2 2 6
Okvir 2 2 2 2 2 1 1 1 2 2 2 2 7 7 7 7 1 1 1 1
Okvir 3 3 3 3 3 5 5 5 1 1 1 1 6 6 6 6 6 3 3

Broj PF prekida = 16

9. Sistem diskova RAID 5:


a. Nema nikakvo računanje parnosti
b. Nema parnost, već koristi ECC
c. Ima bit-ispreplitanu parnost
d. Ima parnost na nivou bloka
e. Ima distribuiranu parnost na nivou bloka

10. Upotrebom semafora napisati program koji rešava problem proizvođač-potrošač u slučaju kružnog
bafera veličine n.

Odgovor:

semaphore full = 0;
semaphore mutex = 1;
semaphore empty = n;

void proizvodjac() void potrosac()


{ {
while(true) while(true)
{ {
proizvodi() semWait(full)
semWait(empty) semWait(mutex)
semWait(mutex) uzmi()
stavi() semSignal(mutex)
semSignal(mutex) semSignal(empty)
semSignal(full) trosi()
} }
} }

3/3

You might also like