OS1/Jun 2022

Izvor: SI Wiki
< ОС1
Datum izmene: 4. jul 2022. u 12:23; autor: Fedja (razgovor | doprinosi) (dodat jun 2022)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu

Zadaci na stranici predmeta.

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 тако што ћете га решити.