ОС2/Јун 2016

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
  • За питања са више одговора, тачни одговори су подебљани и уоквирени
  • За питања за које се одговори уносе, тачни одговори су подвучени и сакривени, тако да се прикажу када изаберете тај текст (пример: овако)
  • Притисните лево дугме испод за сакривање и откривање свих одговора, или десно дугме за укључивање и искључивање интерактивног режима:

Zadaci na stranici predmeta.

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.