ОС1/Јун 2022
1. zadatak
Postavka
Napisati komandnu liniju kojom se izvršava komanda cmd1, tako da ona svoj (standardni) ulaz uzima iz fajla input koji se nalazi u direktorijumu koji je roditeljski tekućem, a svoj (standardni) izlaz prosleđuje na ulaz komandi cmd2. Kako se zovu koncepti koji obezbeđuju navedene tehnike vezane za ulaz i izlaz ovih komandi?
Rešenje
cmd1 < ../input | cmd2
Koncepti u pitanju su preusmerenje (redirekcija) i cevovod (pipe).
2. zadatak
Postavka
Precizno objasniti šta sadrži tzv. bss segment, a šta text segment u prevedenom programu? Šta operativni sistem sa straničnom organizacijom virtuelne memorije tačno radi prilikom prvog pristupa stranici svakog od ovakvih segmenata?
Rešenje
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
3. zadatak
Postavka
U nekom sistemu sa straničnom organizacijom memorije i straničenjem u dva nivoa vreme pristupa dinamičkoj RAM memoriji je 100 ns, vreme pristupa TLB-u je 10 ns, a TLB ima učestanost pogotka od 90%. Koliko je efektivno vreme pristupa memoriji? Izvesti račun.
Rešenje
9/10*(10+100)ns + 1/10*(10+100+100+100)ns = 130ns
4. zadatak
Postavka
Neki sistem primenjuje tehniku kopiranja pri upisu (copy on write). Jedan proces roditelj zauzima sledeću memoriju: 12KB za programski kod, 24KB za stek, 36KB za podatke koji se samo čitaju i 40KB za podatke koji se menjaju. Ako ovaj proces pokrene proces-dete sistemskim pozivom fork, koliko najviše operativne memorije ova dva procesa ukupno zauzimaju? Objasniti.
Rešenje
Najviše zauzimaju u slučaju da proces dete promeni neke podatke. Tada se ponovo alociraju stek (24KB) i prostor za podatke koji se menjaju (40KB).
Računica:
12KB + 2*24KB + 36KB + 2*40KB = 176KB
5. zadatak
Postavka
U nekom programu koji koristi školsko jezgro pokazivač myThread ukazuje na objekat klase izvedene iz klase Thread. Precizno objasniti u čemu je razlika u izvršavanju redefinisane operacije run te klase za sledeća dva poziva: myThread->run() i myThread->start().
Rešenje
Ako se pozove myThread->run() (koji je inače zaštićen, ne bi trebalo da može da se pozove), trenutni tok kontrole će samo ući u telo funkcije run(), odnosno ne dobija se nikakva konkuretnost.
U slučaju da se pozove myThread->start(), sistemskim pozivom će se zatražiti od operativnog sistema da započne novu nit koja će onda izvršavati telo redefinisane funkcije run(), čime se dobija konkurentnost.
6. zadatak
Postavka
Šta je osnovni nedostak FIFO algoritma raspoređivanja procesa? Precizno objasniti
Rešenje
Procesi koji se veoma kratko izvršavaju mogu dugo da čekaju ukoliko su ispred njih u redu procesi koji se vrlo dugo izvršavaju.
7. zadatak
Postavka
Na jeziku C++ napisati kod za ograničeni bafer uz sinhronizaciju pomoću semafora u školskom jezgru.
Rešenje
Videti isti ovaj zadatak iz juna 2017 (vodi linkovima sve do jula 2011).
8. zadatak
Postavka
Šta su karakteristike apstrakcije ulaznog ili izlaznog toka (stream)?
Rešenje
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
9. zadatak
Postavka
U čemu je razlika između pojma meke veze (soft link) i tvrde veze (hard link) u fajl sistemu? Kako se implementira meka veza?
Rešenje
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.
10. zadatak
Postavka
Neki fajl sistem koristi indeksiranu alokaciju fajlova na disku sa kombinovanim indeksom. U FCB se nalazi neposredni indeks sa 32 ulaza, kao i adresa indeksa single indirect i indeksa double indirect. Veličina bloka je 512B, a veličina adrese bloka je 64 bita. Kolika je maksimalna veličina sadržaja fajla u ovom sistemu u KB? Izvesti račun.
Rešenje
- Овај задатак није решен. Помозите SI Wiki тако што ћете га решити.