OS Ispit Jan 2013 - Resenja

You might also like

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

Operativni Sistemi

Pitanja januarski ispitni rok 22.01.2013.


Ispit traje 120 minuta

Pitanja za 2 poena

1. Koje funkcije tipično obavlja operativni sistem?

a. Kompajlovanje asemblerskog koda


b. Apstrakcija hardvera
c. Učitavanje izvršne (binary) datoteke u memoriju i njeno izvršavanje
d. Antivirus

2. Šta od navedenog jeste algoritam za određivanje sledeće slobodne memorijske


particije, pri alokaciji memorije:

a. Next-fit
b. Best-fit
c. Worst-fit

3. Šta je vi?

Odgovor: tekstualni editor standardno prisutan u Unix sistemima.

4. Šta znači kada C program prestane sa izvršavanjem, i prijavi grešku “Segmentation


fault”?

Odgovor: Dereferenciranje vrednosti na ne-validnoj memorijskoj lokaciji.

5. Mogu li zombie procesi da utiču na performanse računara? Objasniti.

Odgovor: Da, ali ne drastično. Zombi procesi uzimaju slobodnu memoriju, i teorijski je
moguće da će zbog toga doći do npr. veće količine swapping-a. Ipak, u praksi je jako
teško da se ovo desi, I pored toga, da bude dovoljno konzistentno da predstavlja stalan
problem.

Pitanja za 3 poena

6. Definisati pojam kritične sekcije. Ako jedna nit uđe u kritičnu sekciju, da li ona sme biti
prekinuta, i druga nit stavljena na izvršavanje, ili je strogo neophodno da se nit koja je
ušla u kritičnu sekciju završi?

Odgovor: Za svaku kritičnu sekciju (segment koda) se vezuje jedinstveni identifikator, ili
ključ. Nije dozvoljeno da dve niti u istom trenutku izvršavaju kod iz kritičnih sekcija koje
imaju isti ključ. Nit sme da se prekine u toku kritične sekcije, pod uslovom da se na
izvršenje ne stavi nit koja izvršava kritičnu sekciju sa istim ključem.
Operativni Sistemi

7. Šta je mutex?

Odgovor: Mutual exclusion, tj. međusobno isključivanje, je sinhronizacioni mehanizam


koji rešava problem stanja trke tako što onemogućuje izvršavanje nitima koje bi mogle
da dođu u konflikt, u onom trenutku kada mogu da dođu u konflikt (kritična sekcija).

8. Kod izbora algoritma za alociranje memorije, koji problemi se javljaju ako se kao
memorijska struktura koristi bitmapa? Kod sistema koji ima 1GB raspoložive korisničke
memorije, sa memorijsim particijama veličine 4KB, koliko prostora će zauzeti bitmapa
iz prethodnog pitanja?

Odgovor: Glavni problem kod bitmape je velika kompleksnost operacije pretrage za


slobodnom “rupom” zadate veličine. Ova operacija se može značajno ubrzati
primenom ulančane liste.
1G = 1M * 1K = 256K * 4 * 1K = 256K * 4K
1GB = 256K * 4KB
Bitmapa bi zauzela 256Kb, ili 32KB

9. Koji je cilj korišćenja LRU algoritma za odabir stranice koja će biti izmenjena pri
straničenju?

Odgovor: Poenta je da se na osnovu prošlosti aproksimira budućnost. Ako neka


stranica skoro nije korišćena, onda možemo da pretpostavimo da uskoro i neće biti
korišćena, te aproksimiramo optimalan algoritam za odabir stranice.

10. Koja je razlika između pojmova programa i taska?

Odgovor: Program predstavlja skup instrukcija (kod) koji rešava neki zadati problem.
Program može biti opisan bilo kojim jezikom. Task (proces) predstavlja program koji je
preveden na konkretan mašinski jezik, i koji se izvršava na konkretnoj mašini.

11. Koja je razlika između pojmova procesa i niti?

Odgovor: Za proces se vezuje skup resursa (memorijski prostor, otvoreni fajlovi, …),
dok nit predstavlja jednostavno tok izvršavanja. Obično jedan proces sadrži više niti, i
te niti međusobno dele resurse koji su dodeljeni procesu..

12. Posmatrano sa stanovišta operativnog sistema, navesti makar tri razloga da se


process nađe u stanju čekanja

Odgovor: blokirajući sistemski poziv (npr. prosleđivanje poruke); čekanje na događaj


hardvera (npr. I/O); ručna suspenzija od strane korisnika; nasilno istiskivanje od strane
raspoređivača; yield, tj. volonterski prekid rada. (napomena: poslednja dva nisu nužno
wait, već verovatnije ready stanje, ali se prihvataju kao tačan odgovor)
Operativni Sistemi
13. Može li se zaštita memorije obaviti isključivo softverski? Zašto?

Odgovor: Ne, neophodna je pomoć hardvera. Bilo koji softver koji pokuša da sam
implementira zaštitu memorije bi sam bio podložan ne-validnom memorijskom pristupu.

14. Pokrenuti su procesi A i B koji koriste resurse P i Q. Opisati situaciju gde A i B mogu
da dođu u deadlock.

Odgovor:

Proces A: Proces B:

Zahteva P Zahteva Q
… …
Zahteva Q Zahteva P
… …
Oslobađa Q Oslobađa P
… …
Oslobađa P Oslobađa Q

Pod uslovom da su zahtevi za resursima blokirajući, tj. process koji zahteva resurs
neće nastaviti sa izvršavanjem dok ne dobije resurs, ovde može doći do deadlock-a.
Do deadlock-a dolazi ako proces A izvrši svoju prvu instrukciju, i onda bude zamenjen
procesom B. Proces B će blokirati na zahtevu za P, ali taj zahtev nikada neće biti
ispunjen, jer će process A takođe biti zablokiran čekajući na resurs Q.

15. Programski jezik C zahteva da se promenljive deklarišu na početku programskog


bloka. Zašto?

Odgovor: Lokalne promenljive se po C standardu drže na steku. Zbog toga je bitno da


se na početku procedure (tj. bloka) rezerviše prostor za ove promenljive i/ili kreira
podstek koji će se koristiti.

Pitanja za 5 poena

16. Opisati faze boot procesa od uključivanja računara do učitavanja operativnog sistema
u memoriju.

Odgovor: BIOS na fiksnoj lokaciji u ROM memoriji ima kod koji izvršava POST (Power
On Self Test), a potom traži hardver sa kog može da se izvrši boot. Ovi uređaji moraju
na svom prvom sektoru da imaju bootstrap kod koji je označen posebnim “magičnim”
brojem. Bootstrap kod je mali, i njegov posao je samo da učita veći bootloader program
koji će imati zadatak da učita kompletan operativni sistem.
Operativni Sistemi
17. Data su dva procesa, P1 i P2:

P1: P2:
Print A Print D
Print B Print E
Print C Print F

Uvesti semafore i semaforske operacije tako da se zagarantuje da će A biti ispisano


pre E, i da će E biti ispisano pre C.

Odgovor: Ako je V operacija inkrementiranja semafora, a P operacija dekrementiranja, i


S1 i S2 su semafori incijalizovani sa 0:

P1: P2:
Print A Print D
V S1 P S1
Print B Print E
P S2 V S2
Print C Print F

You might also like