OS2/Jun 2016
- За питања са више одговора, тачни одговори су подебљани и уоквирени
- За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
- Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:
1. zadatak
- Slični zadatak se našao i na januarskom roku iz 2022.
Postavka
Navesti razloge zašto FIFO algoritam nema dobar učinak kod raspoređivanja procesa.
Rešenje
- Osnovni problem je dugo prosečno vreme čekanja za dolazak na red.
- Drugi problem je tzv. konvoj efekat gde grupa I/O-bound procesa (koji se često blokiraju) čeka na CPU-bound proces (koji dugo zauzima proces) završi i tako u krug idu za njim kao konvoj što čini posledicu slabijeg iskorišćenja procesora.
2. zadatak
Postavka
Korišćenjem klasičnih uslovnih promenljivih, napisati kod monitora koji može da posluži za kontrolu pristupa resursu kome istovremeno može pristupiti najviše N uporednih procesa
Rešenje
monitor control;
export acquire, release;
var
cond : condition;
count : integer;
procedure acquire():
begin;
while (count >= N)
begin;
wait(cond)
end;
count := count + 1;
end;
procedure release():
begin;
count := count - 1;
signal(wait);
end;
begin;
count := 0;
end;
3. zadatak
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
Postavka
Ukratko objasniti kako treba organizovati serverski program koji može da prima zahteve za uspostavu veze preko jedne serverske priključnice (socket), a potom da vodi „odvojene dijaloge“ (razmenjuje poruke) sa različitim klijentima uporedo i nezavisno jedan od drugog, ali na isti način (istim protokolom).
Rešenje
4. zadatak
Postavka
Kako se rešava problem mogućeg gubitka poruka ili povratnica (acknowledgment) kod međuprocesne komunikacije razmenom poruka?
Rešenje
Koristi se tajmer tokom čekanja na odgovor/povratnicu, koji ako istekne, zaključuje se neuspeh i nastavlja se izvršavanje.
5. zadatak
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
Postavka
U jednom sistemu primenjuje se sledeća tehnika sprečavanja mrtve blokade (deadlock): svakom procesu i koji pristupa nekom resursu dodeljuje se jedinstvena vremenska marka (timestamp) Pi, koja predstavlja trenutak pokretanja tog procesa; kada proces i zahteva resurs koga već drži proces j, proces i će čekati blokiran samo ako je njegova marka Pi manja od Pj (odnosno ako je i stariji od j); u suprotnom, proces i se otkazuje (prekida) i pokreće ispočetka. Da li procesu koji je otkazan, prilikom ponovnog pokretanja, treba dodeliti novu vremensku marku ili sačuvati staru (od prvog pokretanja) i šta je problem u suprotnom?
Rešenje
6. zadatak
Postavka
Data je sledeća sekvenca referenciranja stranica od strane nekog procesa:
2, 5, 7, 4, 5, 7, 5, 3, 2, 5, 6, 7, 5, 6, 7
Procesu su dodeljena 4 okvira, zamena se vrši lokalno, samo u skupu stranica dodeljenih tom procesu, a inicijalno nije učitana nijedna stranica ovog procesa. Koliko puta ovaj proces generiše straničnu grešku (page fault) ako je algoritam zamene stranica LRU?
Rešenje
8
7. zadatak
Postavka
Neki sistem primenjuje sistem parnjaka (buddy) za alokaciju memorije. Stanje sistema u datom trenutku prikazano je na sledećoj slici:
Svako polje predstavlja jedan elementarni blok (najmanju jedinicu alokacije), a osenčeni blokovi su zauzeti. Prikazati stanje nakon zahteva za alokaciju segmenta veličine dva bloka:
Rešenje
8. zadatak
Postavka
Koji RAID nivo ima bolje iskorišćenje prostora, RAID 5 ili RAID 6 i zašto?
Rešenje
RAID 5 ima bolje iskorišćenje jer koristi block striping sa jednim blokom za parnost, dok RAID 6 ima dva bloka za parnost.
9. zadatak
Postavka
Navesti bar tri Linux distribucije.
Rešenje
- Gentoo Linux
- Red Star OS
- Hannah Montana Linux
10. zadatak
Postavka
Šta je vm_area_struct
u sistemu Linux? Navesti značenje i svrhu ove strukture, kao i bar neku informaciju koja ona sadrži.
Rešenje
vm_area_struct
je struktura koja sadrži informacije o regionu memorije.- Sadrži veličinu regiona, mapirane fajlove (ako postoje), flegove za pristup, pokazivače na funkcije koji implementiraju rukovanje stranicama pri straničnoj grešci za taj region memorije itd.