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

Operativni sistemi

1. Navesti osnovnu podjelu ili klasifikaciju softvera?


1) sistemski softveri
2) aplikativni softveri

2. Objasniti sta je arhitektura racunara?


Arhitektura racunara prikazuje racunarski sistem iz ugla programera.

3. Objasniti sta je organizacija racunara?


Organizacija racunara prikazuje strukturne veze unutar racunara koje nisu vidljive od strane programera.

4. Koje su osnovne komponenete von Neumannove masine?


1) memorija 4) ulazna jedinica
2) upravljacka jedinica 5) izlazna jedinica
3) aritmeticko logicka jedinica

5. Objasniti Flynnovu klasifikaciju racunara?


1) SISD 3) MIMD
2) SIMD 4) MISD

6. Objasniti Murov zakon?


Geometrijski, a ne linearni nivo poboljsanja performansi racunara.
Broj tranzistora na 1 silikonskom cipu se poveca za 50% svake godine.

7. Sta je operativni sistem?


Operativni sistem je sistemski softver koji upravlja dodjelom i efikasnim koristenjem resursa datog racunarskog
sistema potrebnih za rjesavanje datog problema (resursi su operativna memorija, podaci sa hard diska, CPU ili bilo
koji periferijski uredjaj).

8. Navesti primjere poznatih operativnih sistema?


Microsoft Windows 95/98/NT/XP/2000/2003/Vista/7/8/10
Max OS, Linux, UNIX

9. Objasniti zasto je operativni sistem reaktivni program?


Operativni sistem je reaktivni program jer mu se vraca kontrola nad procesorom, kada aplikacija koja ima kontrolu
izvrsi sistemski poziv ili ako dodje do hardverskog prekda.
10. Prikazati primjer kreiranja vise virtuelnih masina nad istim harverom i operativnim sistemom?

11. Koje su moguce vrste interfejsa izmedju OS-a i krajnjeg korisnika?


1) aplikacija i
2) interpreter komandi

12. Na koji nacin se OS budi iz stanja praznog hoda?


1) prekid od strane hardverskog uredjaja
2) pojavom izuzetka od nekog korisnickog programa
3) sistemskim pozivom iz nekog korisnickog programa

13. Koji su osnovni ciljevi savremenih OS-a?


1) da olaksa izvrsavanje aplikativnih programa i rjesavanje korisnickih problema
2) da ucini racunarski sistem jednostavnim i podesnim za koristenje
3) da obezbjedi dijeljenje racunarskih resursa i
4) da omoguci koriscenje racunarskog hardvera na efikasan nacin

14. Dati primjer apstrakcije hardvera racunarskog sistema?


HARDVER:
1) Diskovi 5) Modem

2) Memorija 6) Monitor

3) Procesori 7) Mis

4) Mreza 8) Tastatura

15. Dati primjer apstrakicje ostalih resursa racunarskog sistema koji nisu hardver?
RESURSI:
1) Programi 4) Procesi
2) Datoteke 5) Prozori I grafickim I korisnickim interfejsima
3) Komunikacije
16. Cemu sluzi poznavanje rada savremenih OS?
Poznavanje rada OS pravi razliku izmeu nekoga ko se profesionalno bavi raunarskim sistemima I nekoga ko je
samo kranji korisnik

17. Koji su kljucni aspekti svakog OS?


1) apstrakcija resursa
2) dijeljenje resursa

18. Koja su dva osnovna nacina dijeljenja resursa u racunaru, navesti primjere?
1) prostorno multipleksiranje (glavna memorija i disk)
2) vremensko multipleksiranje (CPU)

19. Navesti servise koje obezbjedjuju savremeni OS-i?


1) izvrsavanje programa
2) U/I operacije
3) komunikacije
4) upravljenje sistemom datoteka
5) detekcija gresaka

20. Koje su osnovne funkcije savremenih OS-a?


1) upravljanje procesima (startovanje i prekidanje programa kao i djeljenje procesora tj procesorskog vremena)
2) upravljanje memorijom
3) upravljanje uredjajima (ulaz/izlaz)
4) upravljanje podacima (upravljanje datotecnim sistemima)
5) zastita (vise korisnika, vise programa, jedan procesor, jedna memorija)
6) komunikacija sa drugim racunarima u mrezi i
7) upravljanje greskama i oporavak sistema.

21. Ko puni loader?


Program koji puni loader zove se bootloader ili bootstrap loader.

22. Graficki prikazati zivotni ciklus sistema koji obuhvata ukljucivanje i iskljucivanje napajanja?
23. Graficki prikazati punjenje bootloadera i kernela u operativnu memoriju?

24. Zasto OS treba da sprijeci korisnike da pristupe boot sektoru?


Operativni sistem mora da sprijei korisnike da pristupe boot sektoru zbog njegove specifinosti I sloenosti I
procesa koji ukljuuju prelazak sa hardvera na firmver I sa firmvera na softver.

25. Klasifikovati OS-e prema broju procesora i procesa koje podrzavaju?


1) monoprogramski 3) viseprocesorski
2) miseprogramski 4) distribuisani

26. Na koji nacin se kod viseprogramskih OS-a povecava iskoristavanje procesora?


Viseprogramski OS su projektovani da izvrsavaju vise aktivnih poslova i kod njih postoji preklapanje zahtjeva za
procesor i U/I uredjaje od strane vise programa ili korisnika.
27. Navesti nacine rada OS na osnovu nacina interakcije korisnika sa racunarom i vremena odziva racunara
na zahtjev korisnika?
1) paketna (batch) obrada
2) obrada sa dijeljenjem procesorskog vremena (time sharing)
3) obrada u realnom vremenu (real time)

28. Objasniti nacin rada OS-a sa paketnom obradom (batch)?


Kod paketne obrade poslovi se izvrsavaju redosljedom kojim pristizu u red poslova spremnih za izvrsavanje.
Nedostatak je sto kratki poslovi mogu dugo da cekaju zavrsetak rada prethodno unijetih poslova. Vrijeme obrade se
moze poboljsati ako se slicni poslovi grupisu i izvrse kao grupa poslova.

29. Objasniti nacin rada OS-a sa dijeljenjem procesorskog vremena (time sharing)?
Svakom procesu, korisniku se u unaprjed definisanom vremenskom intervalu dodjeljuje procesor, nakon isteka
vremena OS oduzima procesor od datog procesa i dodjeljuje ga narednom procesu (korisniku).
30. Objasniti nacin rada OS za rad u realnom vremenu?
Maksimalno vrijeme odgovora sistema mora biti u fixnom vremenu. Ako se data akcija mora uraditi u datom trenutku
sa zadatim vremenskim okvirom, radi se o hard OS-u za rad u realnom vremenu, a sistemi gdje je povremeni
izostanak aktivnosti koja se mora uraditi u datom trenutku prihvatljv, zovu se soft OS.

31. Koje dvije grupe OS-a za rad u realnom vremu postoje?


1) Hard OS
2) Soft OS

32. Koji tipovi ili vrste OS postoje danas?


1) batch sistemi (paketna obrada)
2) interaktivni sistemi (jednokorisnicki i visekorisnicki)
3) sistemi opste namjene (batch, interaktivni, time sharing)
4) mrezni OS (serveri)
5) distribuisani OS (migracija podataka i programa sa jednog racunara na drugi pri cemu korisnik ne upravlja ovom
migracijom)
6) specijalno projektovani OS (sistemi za rad u realnom vremenu).

33. Kako su napisani monolitni operativni sistemi?


Monolitni OS-i su napisani kao skup procedura pri cemu svaka od njih moze pozvati bilo koju drugu proceduru iz
tog skupa kad god je to potrebno.

34. Navesti prednosti OS-a koji imaju mikro jezgro?


1) dodavanje novog servisa ne zahtjeva modifikovanje jezgra OS-a
2) sistem je bezbjedniji tj. visi je nivo zastite jer se vise operacija izvrsava u korisnickom nacinu rada
3) omogucava uniformisani interfejs, prosirivost fleksibilnost i portabilnost
4) predstavlja podrsku distribuisanim sistemima
5) predstavlja podrsku objektno orijenitsanim OS-a
6) omogucava jednostavnije projektovanje jezgra i pouzdaniji OS

35. Na koje module se mogu dekomponovati savremeni OS-i?


Mogu se dekomponovati na module koji obezbjedjuju sljedece funkcije:
1) upravljanje procesima
2) upravljanje memorijom
3) upravljanje U/I uredjajima
4) upravljanje datotekama
5) upravljanje mrezom.

37. Koje su prednosti modularnog OS-a?


1) lakse je modifikovati sitem i ispraviti greske jer promjene uticu samo na neke dijelove sistema, a ne na cijeli OS
2) informacije se cuvaju tamo gdje je to potrebno
3) informacijama se pristupa samo unutar definisane i ogranicene oblasti, tako da je bilo koji bug u tom dijelu
limitiran na specificnom modulu.
38. Objasniti razliku izmedju mreznih OS i konvencionalnih OS koji se izvrsavaju nad jednim procesorom?
Mreni se po svojoj strukturi ne razlikuju mnogo od konvencionalnih OS-a koji se izvravaju nad jednim procesorom,
razlika je npr. u dodatku kontrolera za mreni intefejs, kao i programa za daljinsko prijavljivanje i daljinski pristup
datotekama.
39. Objasniti razliku izmedju distribuisanih OS i konvencionalnih OS koji se izvrsavaju nad jednim
procesorom?
Bitna razlika je u mogucnosti paralelizacije izvravanja aplikacija u korist distribuisanih OS-a.
Upravljanje memorijom
1. Koje su najvanije aktivnosti operativnog sistema u dijelu za upravljanje memorijom?
1) Voenje evidencije o tome koji se dijelovi memorije trenutno koriste i ko ih koristi
2) Donoenje odluke o uitavanju procesa u memoriju tj. koje procese prebaciti u memoriju, te kada memorijski
prostor postane raspoloiv,
3) Dodjela i oslobaanje memorijskog prostora po potrebi.

2. Navesti komponente upravljanja memorijom pomocu kojih operativni sistem donosi bitne odluke
neophodne za efikasno upravljanje memorijom?
a) Upravljanje unoenjem (fetch policy) u smislu donoenja odluke o tome kada ce se program ili njegovi
dijelovi unijeti u memoriju
b) Upravljanje smjetanjem (placement policy) u smislu donoenja odluka o tome gdje ce se program ili
njegovi dijelovi smjestiti u memoriju
c) Upravljanje zamjenom (replacement policy) u smislu donoenja odluke o tome koji ce se program ili
dijelovi programa izbaciti iz memorije da bi se odlobodio prostor za unoenje drugog programa ili dijelova
drugog ili istog programa.

3. Navesti moguce naine za upravljanje memorijom?


1) Pomocu statikih particija 5) Pomocu statikih segmenata
2) Pomocu dinamikih particija 6) Pomocu dinamikih segmenata
3) Pomocu statikih stranice 7) Pomocu dinamikih stranica i segmenata
4) Pomocu dinamikih stranice

4. Prikazi memorijski sistem kod savremenih raunarskih sistema?

5.Objasni ta znai vezivanje adresa (address binding)?


To je proces gdje se fizika memorija adresa prodruuje adresama podataka i adresama programskih instrukcija.
Postoji statiko i dinamiko vezivanje adresa.

6. Kada se vri statiko vezivanje adresa?


Kod statikih vezivanja adresa, nove lokacije za adrese se odreuju prije izvravanja programa. Statiko vezivanje
adresa moe biti u vrijeme prevoenja, kada apsolutna adresa generie programski prevodilac (compiler) ili u vrijeme
punjenja kada apsolutna adresa generie programe za punjenje (loader).
7. Kada se vri dinamiko vezivanje adresa?
Kod dinamikih vezivanja adresa, nove lokacije za adrese se odreuju za vrijeme izvravanja programa.

8. Na koji nain se generiu apsolutne memorijske adrese kod dinamikog vezivanja adresa?
Kod dinamikog vezivanja adresa, apsolutne adrese generie hardver.

9. Koje funkcije preslikavanja obuhvata upravljanje memorijom?


a) Preslikavanje imena se odnosi na preslikavanja simbolikih adresa (imena) koje programer dodjeljuje
promjenljivima i pojedinim naredbama u programu u binarne adrese koje se esto nazivaju jedinstvenim
identifikatorima ili programskim adresama.
b) Preslikavanje adresa se odnosi na preslikavanje programskih adresa u stvarne, fizike memorijske adrese.
c) Preslikavanje sadraja se odnosi na preslikavanje memorijskih adresa u vrjednost (podatke) koje one sadre.

10. Objasni ta je preslikavanje adresa?


Preslikavanje adresa znai kada preslikavamo imena u neku odreeno simboliku adresu ili simbolika imena i
dodjeljujemo pojedine naredbe u program i u binarne adrese ili programske adrese, a te programske adrese se
preslikavaju u stvarne fizike memorijske adrese. Preslikavanje adresa se u vecini sluajeva izvrava u toku punjenja
u memoriju, ali u zavisnosti od naina upravljanja memorijom od strane operativnog sistema, preslikavanje adresa
moe se obavljati I u toku samog izvravanja programa.

11. ta je virtuelna adresa?


Virtualna adresa je adresa u programu i nju generie procesor. Kod savremenih raunara preslikavanje virtuelne
memorije u fiziku memoriju vri se pomocu posebnog hardvera koji se naziva jedinica za upravljanje memorijom
(MMU) Memory Management Unit.

12. ta je fizika adresa?


Adresa kojom se puni memorijski adresni registar (MAR) je fizika adresa. Fizika adresa je adresa na raunarskom
hardveru.

13. Opisati internu fragmentaciju memorije?


Interna fragmentacija je dio memorije unutar regiona ili stanice koja je dodijenjena datom procesu I ne koristi se od
strane tog procesa. Interna fragmentacija je prouzrokovana razliitom veliinom dodjeljene memorije i programa koji
je uitan u taj dio memorije. Taj dio memorije nije raspoloiv za koritenje drugim procesima sistema sve dok dati
proces ne zavri sa radom ili ne oslobodi dodjeljenu memoriju. Interna fragmentacija ne postoji kod statikog
segmenta ili dinamikog segmenata.

14. Opisati eksternu fragmentaciju memorije?


Eksterna fragmentacija je neiskoritena memorija izmeu particija ili segmenata. Ova memorija nije kontinualna, vec
se sastoji od vie manjih dijelova. Eksterna fragmentacija ne postoji kod upravljanje memorije pomocu statikih i
dinamikih stranica.

15. Opisati First Fit algoritam (algoritam prvog ukapanja) za dodjelu memorije?
Algoritam first fit se koristi kod dinamikih particija gdje je potreban algoritam za upravljanje smjetanja, to je sluaj
kada imamo odreeni program i treba da ga smjestimo u memoriju i program zahtjeva odreenu koliinu memorije,
onda doe do pitanja u koji ce se od slobodnih dijelova memorije unijeti taj program. Kod first fit algoritma,
operativni sistem vodi tabelu slobodnog prostora uraenu po rastucim adresama slobodnih dijelova memorije.
Algoritam se tada svodi na pronalaanje prvog slobodnig prostora koji je dovoljno velik da prihvati program, poevi
od poetka memorije.
16. Opisati Best Fit (algoritam najboljeg uklapanja) za dodijelu memorije?
Kod algoritma best fit, operativni sistem vodi tabelu slobodnog prostora ureenu po rastucoj veliini slobodnog
prostora. Ovaj algoritam pronalazi najmanjeg dovoljno velikog slobodnog memorijskog prostora u kojoj moe da
smjesti novi program.
17. Opisati Worst Fit algoritam (algoritam najgoreg uklapanja) za dodijelu memorije?
Kod worst fit algoritma, operativni sistem trai najveci slobodan prostor gdje moe da smjesti novi program.
Algoritam pronalazi najveci moguci slobodni memorijski prostor od ponuenih i tu smjeta program, i ako je
memorija toga programa manja od memorije slobodnog prostora.

18. Koje dodatne podatke ima tabela stranica osim adrese okvira?
1) Bit koji pokazuje da li se stranica nalazi u operativnoj memoriji, tj. da li je stranici dodijeljen okvr ili ne (zove
se valid ili presnet bit)
2) Bit koji pokazuje da li je stranica u operativnoj memoriji modifikovana ili ne (dirty ili modified bit).
Ako je stranica modifikovana tada mora biti upisana na disk
3) Bit koji pokazuje da li je stranica koritena skoro (referenced ili used bit) ili ne. Ovaj bit pomae
operativnom sistemu da odredi koju stranicu da izbaci iz operativne memorije kada se dogodi stranini prekid,
a u operativnoj memoriji u tom trenutku nema slobodnog mjesta.
4) Dozvola pristupa koja oznaava da li je stranica read-only ili je read-write. Dozvolu pristupa postavlja
operativni sistem kada se stranica preslikava u okvir i ukoliko u trenutku pristupa stranici ne postoji potrebna
dozvola hardver generie izuzetak
5) Nekoliko bita namjenjenih za stavrno adresiranje stranice u operativnoj memoriji.

19. Objasni emu slui TLB bafer (Translation Lokaside Buffer)?


Kod korienja tabele stranica nastaje problem zbog pristupa podacima jer je potrebno dva pristupa fizikoj memoriji.
Prvi memorijski pristup je pristup tabeli stranica, a drugi stvarnim podacima. Tabela stranica moze biti prilino velika
i oigledno se ne moe sve memorisati u registrima. I tu dolazi specijalna ke memorija u kojoj se uvaju informacije
o skoro koritenim preslikavanjima stranica u okvire. Ta ke memorija se zove TLB bafer i dio je jedinice za
upravljanje memorijom (MMU). TLB bafer je nazavisan od ke memorije za podatke i ke memorije za instrukcije,
i na taj nain moe doci do konflikta sa ostalim ke memorijama i translacija stranica je direktno povezana sa
pretraivanjem TLB bafera.

20. Objasni ta je stranini prekid?


Kada se u toku izvravanja nekog programa trai pristup adresi, a ija adresa pripada strani koja se ne nalazi u
memoriji, tada dolazi do prekida. Ta vrsta prekida se naziva stranini prekid page fault.

22. Zato su veliine strana uvijek stepena 2?


Upravljanje memorijom pomocu stranica implementira se tako to se adresa razdvaja na dva dijela: broj stranica i
pomeraj unutar stranice. Broj stranica i pomeraj unutar stranice se uvijek moe odrediti pomocu aritmetike operacije
nad zadatom adresom. Kako pozicija svakog bita predstavlja stepen broja 2, razdvajanje adrese na dva dijela
predstavljena bitima rezultuje veliinom stranice koja je stepen broja 2. Veliina stranice moe imati razliite
vrijednosti kod razliitih operativnih sistema I razliitih primjena.

23. Objasni globalno i lokalno stranienje?


Ukoliko su svi raspoloivi okviri kandidati za izbacivanje stranice, tada se takav pristup naziva globalno stranienje.
Alternativan pristup je lokalno stranienje gdje kao kandidat za izbacivanje stranice nakon nastanka straninog
prekida mogu biti samo stranice u okvirima koji pripadaju datom procesu. Na taj nain nije moguce da se izbaci
stranica koja pripada jednom okviru i da se tako nastali prazan okvir dodjeli drugom procesu.
24. Objasni ta je trashing?
Ako je suma veliine radnih skupova stranica za sve procese veca od veliine fizike memorije, dolazi do toga da
stranice svih radnih skupova ne mogu biti u memoriji u isto vrijeme. U toj situaciji svaki stranini prekid dovodi do
izbacivanja stranice koja je u radnom skupu nekog procesa i moe doci do osnovnog straninog prekida i sl. to
govori da dolazi do uestalosti straninih prekida gdje ni jedan proces ne uspijeva da naredjuje u izvravanju, takvo
stanje se naziva trashing. Jedino rjeenje je da se smanji nivo multiprogramiranja.

25. Da li pojava Belady-eve anomalije znai automatski i pojavu trashing-a?


Pojava Belady-eve anomalije ne znai automatski pojavu trashing-a, belady-eva anomalija se moe pojaviti u sistemu
koji ima samo jedan proces, a takav sistem ne ispunjava zahtjeve nastanka trashing-a.

26. Koja su moguca stanja stranica kod upravljanja memorijom pomocu dinamikih stranica?
1. Presilikane u okvir fizike memorije. Takvim stranicama centralni procesor moe direktno pristupiti i nije potrebna
intervencija operativnog sistema. To je eljeno stanje.
2. Inicijalno lociranje na disku ili vracanje na disk. Kada se pristupi takvoj stranici nastaje stranini prekid. Operativni
sistem inicira operaciju itanja stranice sa diska i preslikava je u okvir fizike memorije. Kada se to zavri, proces
nastavlja izvravanje od instrukcije koja je izazvala prekid.
3. Ne koristi se. Takve stranice nisu dio bilo kojeg dijela memorije koji se koristi. Pokuaj pristupa takvim stranicama
prouzrokuje memorijsku greku na osnovu koje nastaje prekid. U tom sluaju sistem zavrava izvravanje datog
procesa (signal kill).

27. Zato se ponekad segmentiranje i stranienje kombinuju unutar jedne eme upravljanja memorijom?
Segmentiranje i stranienje se esto kombinuju da bi se meusobno poboljali. Stranienjem segmenata redukuje se
neiskoritena memorija usljed eksterne fragmentacije i pojednostavljuje se dodjela memorije.

28. Objasni hardversku zatitu memorije realizovanu pomocu baznog i graninog registra?
U baznom registru se nalazi najmanja adresa fizike memorije gdje je dati program smjeten, a u graninom veliina
opsega memorijom unutar koga program moe pristupiti. Najprije se provjerava da li je generisana adresa veca ili
jednaka vrijednosti koja se nalazi u baznom registru. Ako je uslov ispunjen tada se provjerava da li je generisana
adresa manja od zbira vrijednosti u baznom I graninom registru. Ako je i ovaj uslov ispunjen dozvoljava se pristup
fizikoj memoriji. Ako je generisana adresa datog procesa veca od dozvoljenog adresnog prostora dolazi do sistemske
greke tj. tzv. fatalne greke.

29. Ko moe da upisuje vrijednost adresa u bazni i granini registar?


Jedino operativni sistem ima mogucnost da napuni bazni i granini registar koritenjem specijalne privilegije
instrukcija.
Upravljanje podacima
1. Koje su najvanije aktivnosti operativnog sistema u dijelu za upravljanje podacima na
sekundarnoj memoriji?
1) planiranje dodjele sekundarne memorije
2) dodjela slobodne sekundarne memorije
3) upravljanjem slobodnim memorijskim prostorom na sekundarnoj memoriji.

2. Navesti funkcije sistema za upravljanje podacima?


1. indentifikovanje i lociranje izabrane datoteke
2. koritenje direktorijuma za opisivanje lokacije svih datoteka i njihovih atributa
3. opis kontrole pristupa korisnika u djeljenom sistemu
4. rad sa blokovima radi pristupa datotekama
5. dodjela slobodnih blokova datotekama
6. upravljanje slobodnim memorijskim prostorom

4. Objasniti ta je datoteka?
Datoteka je imenovani i postojan skup podataka koji je memorisan na nekom memorijskom medijumu,
odnosno na nekim perifernom ureaju, kao to su hard disk, magnetna traka, floppy disk, flash
memorija itd. Datoteka je logika jedinica memorije koja predstavlja apstrakciju fizikih karakteristika datog
memorijskog ureaja. Za datoteku se moe reci i da je to apstrakni tip podataka koji operativni sistem definie
i implementira kao niz logikih slogova, odnosno apstraktni objekat.

5. Koje su najece komande koje koristi sistem za upravljanje podacima?


1. kreiranje datoteke
2. itanje i pisanje unutar datoteke
3. pozicioniranje unutar datoteke radi operacije itanja ili pisanja
4. postavljanje i koritenje mehanizma zatite
5. promjena vlasnitva nad datotekom
6. listanje datoteka u datom direktorijumu
7. brisanje datoteke

6. Objasniti ta je deskriptor datoteke?


Prilikom otvaranja neke datoteke od strane date aplikacije, kernel vraca cjelobrojnu nenegativnu vrijednost
koja se zove deskriptor datoteke (file descriptor) koja na jedinstven nain indentifikuje tu datoteku za sve
naredne opcije.

7. Prilikom kreiranja novog procesa kod UNIX operativnog sistema koji se deskriptori datoteka
automatski dodjeljuju tom novom procesu?
Svaki proces kod UNIX operativnog sistema na poetku svog ivotnog ciklusa ima 3 otvorene datoteke:
1. standardni ulaz (deskriptor 0)
2. standardni izlaz (deskriptor 1)
3. standardni error (deskriptor 2)
8. ta sve moe da prouzrokuje unitenje datoteka ili dijelova datoteka?
Datoteke ili dijelovi datoteka mogu biti uniteni na vie naina kao to su:
1. hardverske greke 5. otkazi napajanja
2. otkazi glava diska 6. prasina
3. velike temperaturne promjene 7. velike promjene vlanosti
4. softverske greke 8. vandalizam drugih korisnika
9. prisustvo jakih magnetnih polja, itd.

9. Objasniti ta je direktorijum?
Direktorijum ili katalog je struktura podataka koja sadri listu datoteka i poddirektorijuma. Direktorijum
omogucava automatsko voenje evidencije o datotekama i preslikavanje izmeu imena datoteka i samih datoteka.
I sam direkrorijum je datoteka. Naime, direktorijum je posebna datoteka koja sadri jednu ili vie datoteka.

10. Prikazati linearni prostor imena koji se koriste za rad sa direktorijumima?

11. Prikazati hijerarhijski prostor imena koji se koristi za rad sa direktorijumima?


13. Prikazati primjer aciklinog grafa koji se koristi za rad sa direktorijumima?

14. Grafiki prikazati primjer struktrure sistema datoteka?

15. Koji podaci se nalaze u particijama diska?

1. boot blok, superblok,


2. podaci o slobodnim i zauzetim blokovima datog sistema datoteka u obliku bitmape ili povezane liste
pokazivaa,
3. direktorijumi i datoteke koji pripadaju datom sistemu datoteka

16. Navesti tipove particija koje se koriste kod sistema datoteka?


1. primarne
2. logike
3. dodatne

17. Navesti organizacije datoteka koje se primjenjuju kod operativnih sistema?


1. serijska (the pile) 5. sekvencijalna
2. indeks-sekvencijalna 6. spregnuta
3. indeksna sa b-stablima 7. rasuta ili direktna (hashed)
4. sa vie kljueva itd.

18. Objasniti ta je tabela deskriptora datoteka?


Tabela deskriptora datoteka koja se kreira za svaki aktivan proces sadri pokazivae na sve datoteke koje je dati
proces otvorio. Svaki slog u tabeli deskriptora datoteka pokazuje na podatke u tabeli otvorenih datoteka koja
se kreira na nivou sistema.
19. Objasniti ta je tabela otvorenih datoteka. Da li se ona kreira za svaki aktivan proces?
U tabeli otvorenih datoteka se nalaze informacije o pokazivau na trenutnu poziciju unutar datoteke (pomeraj
od poetka datoteke na osnovu koga se dobija trenutna pozicija), o brojau otvaranja I zatvaranja datoteke
i o informacijama potrebnim za lociranje datoteke na disku, tj. pokazivau na indeksni vor.

21. Navesti osnovne metode pristupa podacima na disku?


1. sekvencijalni pristup
2. direktni pristup
3. relativni pristup

22. Objasniti metode pristupa podacima zasnovane na primjerima indeksa?


Kod indeksnog pristupa za datu datoteku se kreira indeks. Indeks sadri pokazivae na blokove datoteke.
Kod takvih metoda pristupa najprije se pretrauje indeks, a zatim se na osnovu pokazivaa direktno pristupa
eljenom slogu. Pri radu sa velikim datotekama sama indeksna datoteka moe biti suvie velika za smjetanje unutar
operativne memorije. Jedno moguce rjeenje je da se kreira indeks za indeksnu datoteku. Tada prvi nivo indeksa
pokazuje na drugi nivo indeksa, a drugi nivo indeksa pokazuje na stvarne podatke.

23. Navesti primjer aplikacije koja podacima u datoteci pristupa?


a) sekvencijalno (sekvencijalni nain pristupa koristi se kod editora i programskih editora)
b) direktno (direktni ili relativni pristup koristi se kod baza podataka)

24. Kako koritenje ke memorije poboljava performanse sistema kada se pristupa podacima? Zato
raunarski sistemi ne koriste vie ke memorije kada ke memorija poboljava performanse?
Performanse pristupa podacima direktno zavise od toga gdje se podaci nalaze. Ke memorija omogucava
komponentama raunara, koje imaju razliite brzine rada, da efikasnije komuniciraju privremenim
premjetanjem podataka sa sporijeg ureaja na bri ureaj (ke memorija). Ke memorija je skuplja od
ureaja sa kojih se podaci privremeno prebacuju, tako da povecanjem veliine ke memorije, cijena sistema raste.

26. Kako se datoteka upisuje u blokove na magnetnom disku, tj. navesti i objasniti glavne metode dodjele
prostora na disku?
Tri glavne metode za dodjelu prostora na disku su:
1. dodjela susjednih memorijskih lokacija
2. dodjela povezanih blokova fiksne veliine
3. koritenje ema sa indeksima

30. Objasniti emu slue udaljeni sistemi datoteka (remote file systems)?
Udaljeni sistemi datoteka (remote file systems) omogucavaju datom raunaru da prikljui (mount),
tj. uini dostupnim jedan ili vie sistema datoteka sa jednog ili vie udaljenih raunara. To je klijent-server model.

31. Objasniti ta je LDAP (Lightweight Directory-Access Protocol)?


LDAP protokol, poznat kao X.509 standard je implementiran u vie operativnih sistema. To je podskup
hijerarhijskog protokola X.500 za distribuisane direktorijume. LDAP je jednostavan protokol za pristup
direktorijumima. Omogucava korisnicima da samo jednim alatom za pretraivanje podataka, pronalaze
informacije, kao to su korisniko ime, sertifikat o bezbjednosti, adresa el.pote,itd.
32. Navesti algoritme koji se koriste za dodjelu diska?
1. FCFS 4. C-SCAN
2. SSTF 5. C-LOOK
3. SCAN 6. LOOK

33. Objasniti FCFS (First Come First Served) algoritam za dodjelu diska?
Najjednostavniji algoritam za dodjelu diska je FCFS. FCFS algoritam izvrava zahtjeve za dodjelu diska onim
redoslijedom kojim su zahtjevi nastali. Ne postoji mogucnost promjene redoslijeda izvravanja zahtjeva i ne
postoji mogucnost gladovanja, jer se svaki zahtjev servisira. Ovaj algoritam je posebno pogodan za
jednokorisnike sisteme.

34. Objasniti SSTF (Shortest Seek Time First) algoritam za dodjelu diska?
SSTF algoritam u datom trenutku vri pokretanje glave diska do najblie staze diska uzevi u obzir zadate U/I
zahtjeve. Osnovna ideja je da se minimizira vrijeme pozicioniranja (seek time) u odnosu na trenutnu poziciju
glave diska. Vrijeme pozicioniranja je proporcionalno rastojanju izmeu staza za zadate zahtjeve. Kako se
pojavljuju novi zahtjevi redoslijed se moe dinamiki mijenjati. SSTF smanjuje ukupno vrijeme
pozicioniranja u poreenju sa FCFS algoritmom.

35. Objasniti SCAN algoritam za dodjelu diska?


SCAN algoritam rjeava problem gladovanja koji se moe javiti kod SSTF algoritma. Problem se rjeava
tako to nakon pokretanja glave diska dalje pokretanje se nastavlja u istom smjeru, tj.najprije se servisiraju zahtjevi
poev od najdalje spoljanje staze ka krajnjoj unutranjoj, a zatim od najblie unutranje ka najdaljoj
spoljanjoj. Glava diska stalno skenira disk sa jednog kraja na drugi. U poreenju sa SSTF algoritmom,
SCAN smanjuje varijansu.

36. Objasniti C-SCAN algoritam za dodjelu diska?


C-SCAN algoritam je nastao sa idejom da otkloni nedostatak SCAN algoritma. C-SCAN algoritam
obezbjeuje uniformnija vremena odziva tako to se pokretanje glava diska uvijek vri u jednom smjeru,
odnosno servisiraju se svi zahtjevi na primjer od spoljanjeg cilindra ka krajnjem unutranjem, zatim
se vri pokretanje glave diska do spoljanjeg cilindra bez servisiranja zahtjeva I nakon toga se opet servisiraju
zahtjevi od spoljanjeg cilindra ka unutranjem. C-SCAN algoritam funkcionie tako kao da su najudaljenija i
najblia staza od centra diska logiki meusobno susjedne.

37. Objasniti LOOK algoritam za dodjelu diska?


LOOK algoritam modifikuje SCAN algoritam, tako to se zaustavlja kretanje glave u istom smjeru ako nema
vise U/I zahtjeva u tom smijeru.

38. Objasniti C-LOOK algoritam za dodjelu diska?


C-LOOK algoritam servisira zahtjeve pomjeranjem glave diska od spoljanjeg ka unutranjem cilindru, dokle god
ima zahtjeva, a zatim se vraca na spoljanji najudaljeniji cilindar za koji postoji zahtjev.
Upravljanje procesima
1. Sta je proces i koje su komponente procesa?
Osnovna jedinica izvrsavanja u OS.
Sekvencijalni program koji se izvrsava i koji mjenja stanje sistema.

2. Ko moze inicirati kreiranje procesa?


Korisnik, operativni sistem ili neki drugi vec aktivni proces.

3. Objasniti razliku izmedju programa i procesa?


Program je staticki entitet koji se sastoji od programskih instrukcija koje kada se izvrsavaju nad skupom podataka
definisu proces.
Proces je dinamicki entitet koji izvrsava program nad datim skupom podataka koristeci resurse sistema. Proces je
operacija procesora nad programom kao argumentom.

4. Gdje OS cuva podatke o svim procesima? U tabeli procesa

5. Sta je deskriptor procesa ili KBP i koje podatke sadrzi?

KBP je struktura podataka koja za svaki proces sadrzi:


1. ime procesa 8. oblast programa
2. indetitet vlasnika 9. oblast podataka
3. prioritet 10. vrijednost registra
4. PSW 11. logicko stanje
5. tip i lokaciju resursa koji su dodjeljenji procesu
6. listu resursa koji su potrebni
7. kljuceve koji se koriste za zastitu

6. Kada se kreira i kada se unistava kontrolni blok procesa?


Formira se u toku kreiranja procesa, a unistava po zavsetku procesa.

7. Objasniti thread ili nit?


Thread ili nit je entitet koji se izvrsava koristeci program i druge resurse od prodruzenog procesa. Svaki thread je
uvjek pridruzen nekom procesu.

8. Koliko procesa moze biti aktivno u jednom trenutku na datom racunarskom sistemu?
U jednom trenutku moze da se izvrsava samo jedan proces iako vise procesa moze da bude spremno za izvrsavanje.

9. Koja su moguca stanja procesa?

a) NOV - proces je kreiran


b) IZVRAVA SE - instrukcije datog programa se izvravaju
c) EKA - process eka da se neki dogaaj dogodi
d) SPREMAN - process eka da bude dodjeljen procesoru
e) ZAVREN - process je zavrio izvravanje
10. Objasni prelaske izmeu mogucih stanja procesa?
Nakon kreiranja procesa on se nalazi u stanju NOV, kad se procesu dodjele potrebni resursi on prelazi u stanje
SPREMAN (ako nema procesa spremnih za izvravanj,e PROCESOR prelazi u tzv prazan hod), ako postoji proces
koji je u stanju SPREMAN tad proces prelazi u stanje IZVRAVA SE (po isteku dodjeljenog vremena process
prelazi iz stanja ekanja u stanje SPREMAN, ako proces u stanju IZVRAVA SE mora da saeka zavretak nekog
drugog procesa, on prelazi u stanje EKA i o tome obavjetava operativni sistem), promjenu iz IZVRAVA SE u
EKA vri sam process. Kad stekne uslove proces iz stanja EKA prelazi u stanje SPREMAN (za proces se kae
da je blokiran kad je u stanju EKA), na kraju kad proces iz stanja SPREMAN pree u stanje IZVRAVA SE I
uspiju se izvriti sve programske instrukcije tad process iz stanja IZVRAVA SE prelazi u stanje ZAVREN.

11.Navesti moguce razloge blokiranja procesa?


1) ekanje na dobijanje nekog ureaja
2) upravljanje straninim prekidom
3) ekanje ulaznih podataka koje unosi korisnik preko terminala
4) ekanje na dozvolu ulaska u kritinu sekciju
5) prenos podataka sa hard-diska, memorije ili nekog drugog ureaja.

12. Prikazati dijagram stanja procesora?

13. Na koje naine proces moe biti supendovan?


1) proces moe biti suspendovan na zahtjev korisnika,
2) na zahtjev operativnog sistema radi izbjegavanja
3) potpunog zastoja (deadlock)
4) ako se prekorai maksimalan dozvoljeni broj procesa u stanju SPREMAN.
14. Grafiki prikazati I objasniti adresni prostor procesa?

Svi precesi u toku izvavanja zahtjevaju memoriju i zato se svakom procesu pridruuje memorijski adresni prostor
Memorijski prostor je potreban za skalditenje programskih instrukcija, podataka, dinamikih struktura I sadraja
koji se uvaju na steku.
15. Koja su moguca stanja niti?
a) stanje izvravanja (stanje IZVRAVANJA, SPREMNOSTI, EKANJA)
b) uvanje konteksta niti kad se ne izvrava.

16. Prikai dijagram stanja niti?


17. Koji se resursi koriste kad se kreira nit?
U emu je razlika u odnosu na resurse koji se koriste kada se kreira process?
Kreiranje niti zahtjeva manje resursa, nego kreiranje procesa kod kojih se zahtjeva dodjela kontrolnog bloka procesa
(KBP )tj. prilino velike strukture podataka koja ukljuuje memorijsku mapu, a samo dodavanje memorijske mape
je vremenski najzahtjevnija aktivnost.

18. Navesti primjere aplikacija koje koriste vie niti i na taj nain ostvaruju poboljanje performansi u odnosu
na rjeenja sa jednom niti?
a) Aplikacije koje koriste vie niti su WEB SERVER (koji svaki zahtjev servisira u posebnoj niti i tako postie
vece performanse)
b) DEBUGGER (gdje se jedna nit koristi za nadgledanje korisnikih ulaznih podataka, druga nit je aplikacija,
a treca nit nadgleda performanse)
c) Aplikacija za mnoenje matrica (gdje razliiti dijelovi matrice mogu da se koriste paralelno pomocu vie
niti).

19. Graficki prikazati blok emu rada operativnog sistema sa redovima ekanja?

20. Objasni prelaske procesa izmeu razliitih redova ekanja u toku svog ivotnog ciklusa?
Najprije se svaki proces nalazi u redu ekanja poslova, nakon prebacivanja u glavnu memoriju idodjele resursa proces
prelazi u red spremnih poslova. Kad proces dobije procesor moguci su sljedeci sluajevi:
a) proces se izvrava sve dok ne istekne dodjeljeno vrijeme,
b) postoji zahtjev za izvravanje U/I i tad se proces prebacuje u U/I red ekanja
c) nastaje prekid i proces prelazi u stanje spreman.

21. Objasni strukturu podataka koja predstavlja posao, tj proces?


Za predstavljanje procesa operativni sistem uvodi strukturu podataka koja se zove KONTROLNI BLOK
PROCESA (KBP), a on moe biti implementiran staticki i dinamiki.

22. Prikazati kvaziparaleno izvravanje programa na primjeru P1, P2 i P3 pod uslovom da programi imaju
isti prioritet izvravanja i da operativni sistem radi u time sharing-u?
Na sistemu sa jednim procesorom moguce je samo kvaziparalelno izvrsavanje procesa, tj u bilo kom trenutku izvrava
se samo jedan proces.
23. Prikazati paralelno uzvravanje programa na primjeru programa P1,P2 i P3?

24. Objasni sta je kritina sekcija sa vie niti ili vie procesa?
Kritina sekcija je segment koda ije instrukcije mogu da utiu na druge niti, tj kad jedna nit izvrava kritinu sekciju
ni jedna druga nit ne smije da izvrava tu istu kritinu sekciju.

25. Sistem se sastoji od dva procesa S i R koji dele zajedniki bafer kapaciteta C poruka. Proces S upisuje
poruku u bafer ,a proces R ih ita iz bafera. Koji uslovi moraju biti ispunjeni da bi sistem ispravno
funkcionisao u sitaciji kada relevantne brzine pristupa baferu procesa S i R nisu unaprijed poznate?
Da bi procesi S i R ispravno funkcionisali u sitaciji kad njihove relevantne brzine nisu unaprijed poznate, neophodno
je da budu ispunjeni sljedeci uslovi:
1) poiljalac S ne smije da alje poruku kad je bafer pun jer bi se ona izgubila
2) primalac R ne smije da uzima poruku kad je bafer prazan jer bi to mogao protumaiti kao signal datreba da
prestane sa radom,
3) vrednosti promjenljive N u trenutku pristupa baferu bilo kog procesa, mora biti jednaka stvarnom broju
poruka u baferu.

26. Objasni ta znai meusobno iskljuivanje procesa u odnosu na kritine sekcije?


Meusobno iskljuivanje procesa u odnosu na kritine sekcije znai da se u bilo kom vremenskom trenutku samo
jedan proces moe naci u svojoj kritinoj sekciji.

27.Objasni ta znai sinhronizacija procesa?


Sinhronizacija procesa znai da odreen proces ne moe ici dalje od unaprijed definisane take bez eksplicitnog
signala koji on sam ne moe generisati.

28. Pri kojim usovima su dva procesa blokirana?


Dva procesa su blokirana ako nijedan od njih ne moe da nastavi sa radom dok drugi ne nastavi sa radom.Sistemski
je blokiran ako su svi procesi blokirani.

29. Navesti osnovne zahtjeve koje operativni sistem mora obezbjediti u cilju uspjenog upravljanja
konkurentnim procesima?
Uporedni procesi sa kriticnim sekcijama, jedan u odnosu na drugog moraju se meusobno iskljuivati tako da se
istovremeno ne nalaze u svojim kritinim sekcijama:
1) Proces koji se zaustavio van svoje kritine sekcije ne smije onemoguciti dalje odvijanje drugih nezavisnih
procesa
2) Procesi ne smiju beskonano dugo ekati na resurse ili signale.

30. Kako je E. Dijkstra rjeio problem meusobnog iskljuivanja i sinhronizacije procesa?


E. Dijkstra je dao rjeenje problema meusobobnog iskljuivanja i sinhronizacije procesa tako sto je uveo nov tip
promjenljive koji se naziva semafor i iji je skup dozvoljenih vijrednosti skup nenegativnih cijelih brojeva.
31. Definisati P i V operacije nad promjenljivom S tipa semafor?
Operacija P je dekrimentirajuca, dok je V inkrementirajuca operacija.
32.Objasniti sta je zaposleno ekanje (busy wait)?
Busy wait situaciju definiemo kao proces koji pokuava da izvri P operaciju u situaciji kad je vrijednost
promjenljive S jednaka 0, tad troi vrijeme centralnog procesora, pri emu ne moe da napreduje dalje, a istovremeno
onemogucava ostale procese da se izvravaju.

33. Dijkstra je P i V operacije definisao kao hardverski neprekidne. Kako se to moe ostvariti?
Neprekidivost operacija P i V postiemo tako sto u opisanoj implementaciji P i V operacija pojavljuju se koraci
zabrane prekida i dozvole prekida koji oznaavaju da se prije poetka njihovog izvravanja hardverski
onemoguci svaki prekid, a da se po njihovom kompletnom izvravanju prekidi ponovo omoguce (to moemo postici
pomocu odgovarajucih bitova u registru stanja procesora).

34. U okviru kog dijela softvera se implementiraju P i V operacije nad promjenljivima tipa semafor?
U okviru operativnih sistema implementacija semafora ukljuuje interakciju sa planerom:
1) za blokiranje niti
2) za deblokiranje niti
3) za upravljanje redovima ekanja niti u stanju ekanja
Semafori predstavljaju mehanizam veoma visokog nivoa, I kao takvi i u njima su moguce greke tipa (koritenje
pogrenog semafora ili nepravilno zakljuavanje resursa sto moe dovesti do potpunog zastoja deadlock) pa zbog
tog moramo koristiti i druge mehanizme.

35. Prikazati rjeenje problema meusobnog isljuivanja n>2 procesa koji imaju kritine sekcije jedan u
odnosu na druge. Primjeniti P i V operacije nad binarnim semaforom medisk?

Pi: begin
Repeat
P(medisk);
kritina_sekcija_i;
V(medisk);
ostale_naredbe_i;
until stop;
end;

36. Prikazati kako se problem meusobnog iskljuivanja i sinhronizovanja procesa poiljaoca poruke S i
procesa primaoca poruka R moe uspjeno rjeiti koritenjem semafora ako je dat bager kapaciteta C
poruka?
Dodjela procesa
1. Koje vrste planera postoje kod operativnih sistema?

1. Dugoroni planer (long-term scheduler)


2. Kratkoroni planer (short-time scheduler)

2. Koja je uloga dugoronog planera (Long-term Scheduler)?


Dugoroni planer selektuje proces iz skupa procesa koji su poslati na izvrenje i prebacuje ga u red procesa spremnih
za izvrenje.

3. Koja je uloga kratkoronog planera (Short-term Scheduler)?


Kratkoroni planer selektuje proces iz reda procesa spremnih za izvravanje i dodjeljuje mu centralni procesor.

4. Objasniti razliku u uestalosti pozivanja dugoronog I kratkoronog planera?


Uestalost pozivanja kratkoronog i dugoronog planera se bitno razlikuje. Kratkoroni planer se poziva veoma
esto, to vrijeme se mjeri milisekundama. Dugoroni planer se ne poziva tako esto, vec su u pitanju minuti ili
sekunde.

5. ta je okruenje ili kontekst procesa?


Okruenje ili kontekst procesa su sistemski resursi koji su potrebni da bi neki proces mogao da se izvrava, ti
sistemski resursi su:
registri, memorija (za instrukcije lokalne i globalne promjenljive, stek, itd.)
razne tabele (npr. tabela procesa)
broja naredbi

6. Objasniti ta je dispeer?
Dispeer je softverski modul koji dodjeljuje procesor procesu koji je izabran od strane kratkoronog planera.

7. Koje su funkcije dispeera?


1) Promjena konteksta
2) Prelazak u karakteristian nain rada
3) Skok na odgovarajucu lokaciju unutar korisnikog programa radi ponovnog startovanja tog programa.

8. Objasniti ta je dispeersko krenje?


Dispeersko krenje je vrijeme potrebno da dispeer zaustavi jedan proces i pokrene drugi (dispatch latency).

9. Navesti kriterijume koji se koriste kod algoritama planiranja dodjele procesora?


1. Iskoritenje centralnog procesora
2. Propusnost sistema (Throughput) broj programa koji mogu da zavre obradu u datom vremenskom
intervalu
3. Vrijeme procesa provedeno u sistemu zbir vremena koje je proces proveo ekajuci da ue u memoriju,
vremena koje je proveo u redu procesa spremnih za izvravanje, vremena potroenog na U/I operacije i
vremena potroenog na procesorsko izvravanje
4. Vrijeme ekanja vrijeme provedeno u redu procesa spremnih za izvravanje
5. Vrijeme odziva (response time) vrijeme koje protekne od zahtjeva do poetka davanja odgovora.

10. Algoritam dodjele centralnog procesora odreuje redoslijed izvravanja procesa u datom sistemu. Pod
pretpostavkom da je dato n procesa ije izvravanje treba rasporediti na jednom procesoru, koliki je broj
razliitih mogucih dodjela centralnog procesora? Prikazati zavisnost kao funkciju od n.
U sistemu u kome postoji n procesa koji se izvravaju na jednom centralnom procesoru broj mogucih naina za
dodjelu procesora je:
n!=n*(n-1)*(n-2)**2*1
11. Objasniti razliku izmeu algoritama dodjele procesora sa prekidanjem (preempitive) i bez prekidanja
(non preempitive)?
Kod algoritama sa prekidanjem (preempitive) proces moe biti prekinut u toku izvravanja tako da se procesor
dodjeljuje nekom drugom procesu, dok kod algoritama bez prekidanja ta mogucnost ne postoji, tj. kada se jednom
procesor dodjeli procesu, takvo stanje ostaje ili do zavretka rada procesa ili do prelaska procesa u stanje ekanja.

12. Optimizacija dodjele procesora nije ista za sve sisteme. Navesti tri karakteristina okruenja koja se
razlikuju po nainu optimizacije dodjele procesora?

1. Paketna obrada
2. Interaktivni rad
3. Rad u realnom vremenu

13. Objasniti FCFS (First Come First Served) algoritam?


FCFS je najjednostavniji algoritam planiranja dodjele procesora. Implementacija ovog algoritma svodi se na FIFO
(First In First Out) red za ekanje. Procesor se dodjeljuje procesu koji je prvi u redu ekanja procesa spremnih za
izvravanje. Algoritam dozvoljava procesu koji trenutno koristi procesor da ga koristi sve dok mu je potreban.

14. Objasniti SJF (Shortest Job First) algoritam?


SJF algoritam bira prvo procese koji zahtijevaju najmanje procesorskog vremena do zavretka rada. Ako postoji vie
procesa sa istim potrebnim vremenom tada se primjenjuje FCFS algoritam.

15. Pri kojim uslovima je SJF algoritam optimalan?


SJF algoritam je optimalan samo kada su svi poslovi raspoloivi istovremeno.

16. Koji su nedostaci SJF algoritma?


Nedostaci SJF algoritma su ti to ako se poslovi pojavljuju naknadno algoritam ne mora biti optimalan, ovaj algoritam
u optem sluaju ne moe biti implementiran.
17. Objasniti kako moe doci do gladovanja (starvation) kod primjene SJF algoritma?
Do gladovanja u SJF algoritmu se dolazi tako to neki proces ne moe da dobije procesor, tj. stalno se pojavljuju
procesi kojima je za zavretak potrebno manje procesorskog vrijemena.
18. Objasniti SRTF (Shortest Remaining Time First) algoritam?
SRTF algoritam bira proces koji zahtjeva najmanje procesorskog vremena do zavretka procesa. Kod ovog algoritma
je moguce prekidanje procesa koji se trenutno izvrava, tj. ako se u trenutku izvravanja pojavi proces koji zahtjeva
manje procesorskog vremena do zavretka, trenutni proces se prekida i procesor se dodjeljuje manjem procesu.

19. Objasniti algoritam planiranja po prioritetu procesa?


Svaki proces ima odgovarajuci prioritet. Proces koji ce se prije izvriti je onaj proces koji ima vii prioritet. Ako
su procesi sa istim prioritetom tada se primjenjuje FCFS algoritam. Za procese niskog prioriteta vri se
povezivanje prioriteta i vremena koji je proces proveo u sistemu.

20. Koji opseg vrijednosti prioriteta procesa se koristi kod Linux operativnog sistema?
Kod Linux operativnog sistema opseg prioriteta je od 0 (najnii prioritet) do 99 (najvii prioritet).

21. Kako se moe mijenjati prioritet procesa kod UNIX operativnog sistema?
Kod UNIX operativnog sistema sistemskim pozivom nice() se moe podeavati prioritet u opsegu od - 20 (najvii
prioritet) do +20 (najnii prioritet).

22. Ko moe promijeniti prioritet procesa kod savremenih operativnih sistema?


Kod savremenih operativnih sistema prioritet procesa moe biti postavljen od strane:
a) korisnika
b) operativnog sistema ili
c) kombinacijom korisnika i operativnog sistema

23. ta je inverzija prioriteta? Kako moe da nastane? Kako se moe rijeiti?

Inverzija prioriteta je kad proces nieg prioriteta forsira proces vieg prioriteta da eka. Inverzija moe da nastane
kada je procesu visokog prioriteta potreban pristup zaticenom resursu koji trenutno posjeduje proces niskog
prioriteta, tada je proces visokog prioriteta blokiran od strane procesa niskog prioriteta sve dok proces niskog
prioriteta ne zavri pristup resursu i oslobodi resurs, na taj nain proces niskog prioriteta ima u stvari vii prioritet,
jer forsira proces vieg prioriteta da eka.
Problem inverzije prioriteta se rjeava tako to procesi koji pristupaju resursu koji je potreban procesu visokog
prioriteta nasljeuju visok prioritet sve dok rade sa tim resursom.

24. Objasni RR (Round Robin) algoritam?


RR algoritam kao parametar koristi vremenski interval ili vremenski kvantum (time-slice). Za RR algoritam svi
procesori su jednake vanosti. Bitna karakteristika RR algoritma je trajanje vremenskog intervala , tj. ako se izabere
previe mala vrijednost ima previe context switching-a ili ako se izabere previe velika vrijednost posljedica toga
moe biti slabo vrijeme odziva kod kratkih interaktivnih upita. Zato se za trajanje vremenskog intervala cesto uzima
kompromis vrijednosti izmeu 20 i 50 milisekundi.
25. Objasniti algoritam planiranja sa redovima ekanja u vie nivoa?
U sistemu postoji vie grupa procesa, kao to su na primjer: interaktivni procesi, sistemski procesi I procesi koji rade
u paketnom reimu rada. Za svaku grupu formira se poseban red ekanja, planiranje se vri po prioritetu redova ili
po procentualnoj raspodjeli procesorskog vremena izmeu redova. Vremenski kvantum moe imati razliite
vrijednosti na razliitim nivoima vienivojskog sistema sa redovima ekanja. Procesi kojima je potrebna esta dodjela
procesora, kao na primjer kod editora, mogu biti u redu ekanja sa malim vremenskim kvantumom, dok procesi
kojima nije potrebna esta dodjela procesa mogu da budu u redu ekanja sa velikim vremenskim kvantumom,
odnosno da se ne pozivaju tako esto. Na taj nain se povecava efikasnost koritenja datog raunara.

26. Grafiki prikazati hijerarhijsko ureenje algoritma dodjele procesa FCFS, RR, MLS i HPF ako je
kriterijum ureenja je specijalni sluaj (Is-a special case of)?

27. Kako se odreuje prosjeno vrijeme ekanja procesa kod dodjele procesa?
Prosjeno vrijeme ekanja dodjele procesa se odreuje tako to saberemo sva vremena ekanja I podjelimo sa brojem
vremena.

28. Objasniti kako nastaje efekat konvoja kod algoritma planiranja dodjele procesa?
Efekat konvoja nastaje kad imamo kratkotrajni proces iza dugotrajnog procesa.
Potpuni zastoj
1. Objasniti ta znai potpuni zastoj (deadlock)?
Proces trajno ostaje u stanju ekanja, jer u isto vrijeme postoje drugi procesi koji su takodje u stanju ekanja, a zauzeli
su resurse koje zahtijeva dati proces i te resurse dri zauzetim.

2. U uslovima vieprogramskog rada moe doci do situacije koja se naziva potpuni zastoj ili blokiranje
(deadlock). Navesti potrebne uslove za nastanak potpunog zastoja?
1. meusobno iskljuenje (mutaul exclusion) 3. kruno ekanje (circular wait)
2. posjedovanje i ekanje (hold and wait) 4. nema prekidanja (non preemption)

3. Prikazati kako se vri modeliranje potpunog zastoja. Objasniti ta su grafovi dodjele resursa i koje tipove
vorova imaju?

Za modeliranje sistema kod kojih su ispunjeni potrebni uslovi za nastanak potpunog zastoja koriste se umjereni
grafovi. Takvi grafovi se zovu grafovi dodjele resursa i imaju 2 tipa vorova: Procese koji se prikazuju kao krugovi
i resurse koji se prikazuju kao kvadrati.

4. Da li potpuni zastoj nastaje kada su ispunjena 4 potrebna uslova?


Odgovor: U opstem slucaju moze se reci da:
a) ako u grafu ne postoji kruzni tok nijedan proces nije u zastoju, dok u suprotnom zastoj moze da postoji
b) ako u grafu postoji kruzni tok I pri tome postoji samo po jedan primjerak svakog resursa, zastoj postoji.

5. Da li je moguce da nastane potpuni zastoj koji ukljuuje samo jedan proces?


Ne. Zato sto mora postojati bar dva procesa kako bi uopste I doslo do kruznog cekanja.

6. Prikazati primjer grafa dodjele resursa za sistem kod koga postoji potpuni zastoj?

7. Prikazati primjer grafa dodjele resursa za sistem kod koga ne postoji potpuni zastoj?
8. Dat je sistem koji se sastoji od 5 procesa koji dijele 6 resursa istog tipa i gdje su svakom procesu potrebna
najvie dva resursa. Pokazati da sistem ne moe doci u stanje potpunog zastoja?
Znaci da tri procesa uzimaju sve resurse, a samo su cetvrti i peti procesi u zastoju. Ne postoji kruzno cekanje.

9. Prikazati skup mogucih stanja sistema sa stanovita potpunog zastoja?

10. Objasniti strategije sprijeavanja i izbjegavanja potpunog zastoja?


Strategije sprijeavanja potpunog zastoja podrazumijevaju da se najprije napravi model stanja sistema, a zatim da se
izabere strategija koja nece omoguciti da sistem ue u stanje potpunog zastoja. Ne smije doci do meusobnog
iskljuenja, posjedovanja i ekanja, krunog ekanja i prekidanja. Za sistem je potrebno da ima neku informaciju na
osnovu koje se moe izbjeci potpuni zastoj.
11. ime je odreeno stanje dodjele resursa kod algoritama izbjegavanja potpunog zastoja?
1. brojem raspoloivih resursa
2. brojem dodijeljenih resursa
3. maksimalnim zahtjevima procesa

12. Navesti primjer algoritma za izbjegavanje potpunog zastoja?

13. Objasniti princip rada Bankarovog algoritma?


Pretpostavlja se da u raunarskom sistemu postoji vie primjeraka istog resursa . Svaki proces mora a priori (prilikom
aktiviranja) da prijavi tip i maksimalni broj resursa koje koristi. Kada proces zahtjeva resurs moe se desiti da mora
da saeka. Kada proces dobije sve traene resurse, tada ih mora vratiti u konanom vremenu. Pri svakom zahtjevu za
dodjelu resursa u toku izvravanja procesa, sistem, koristeci Bankarov algoritam, provjerava da li ce poslije dodjele
ostati u bezbjednom stanju. Ukoliko sistem i nakon dodjele resursa ostaje u bezbjednom stanju, procesu se dodjeljuje
resurs, a u suprotnom se zahtjev odbija i proces se smjieta u red ekanja na resurs.
14. Objasniti strategiju koja omogucava otkrivanje potpunog zastoja i nakon toga oporavak sistema?
Sastoji se iz 2 algoritma. Prvi se aktivira periodino i slui za otkrivanje postojanja zastoja. Ukoliko se otkrije zastoj
aktivira se algoritam za oporavak, koji se najece svodi na izbor rtve, odnosno procesa koji ce biti prekinut.

15. Da li se za sve sisteme moe usvojiti pretpostavka da se zbog male vjerovatnoce pojavljivanja potpuni
zastoj nikad nece pojaviti?
Ne, moe se usvojiti kod vecine, ukljuujuci UNIX i Windows ali za sisteme od kojih moe ivot da znai ta
pretpostavka se ne smije uvaiti.
16. Sistem raspolae sa 12 primjeraka jednog resursa. Trenutno su aktivna 3 procesa P1, P2 i P3 sa
stanjem prikazanim u sljededoj tabeli:
Tabela: Trenutno stanje sistema
Proces Max.zahtjeva Trenutno dodijeljeno

P1 10 5

P2 4 2

P3 9 3

Da li se sistem nalazi u bezbjednom, nebezbjednom ili stanju zastoja?


U posmatranom trenutku postoje jo tri slobodna primjerka resursa i sistem se nalazi u bezbjednom stanju.
Distribuisani sistemi (cjelina)
1. Koje su osnovne karakteristike distribuisanih sistema?
1. dijeljenje resursa
2. transparentnost

2. Objasniti sta je transparentnost?


Transparentnost je osobina sistema da od korisnika sakrije cinjenicu da su hardverske i softverske komponente
distribuisane po razlicitim racunarskim sistemima.

3. Objasniti sta je transparentnost pristupa?


Transparentnost pristupa se odnosi na sakrivanje nacina reprezentacije podataka i nacina pristupa resursima u
sistemu, sa stanovista korisnika, operacije kao sto su citanje pisanje i brisanje podataka se koriste na indenticne nacine
iako su datoteke na razlicitim OS-a.

4. Objasniti sta je transparentnost lokacije?


Transparentnost lokacije se odnosi na skrivanje lokacije resursa u distribuisanom sistemu, korisnik ne mora da
zna lokaciju resursa da bi mu pristupio. (primjer URL)

5. Objasniti transparentnost migracije?


Transparentnost migracije se odnosi na cinjenicu da se resursi iz razlicitih razloga, najcesce zbog poboljsanja
performansi, mogu premjestiti sa jednog racunara na drugi racunar u mrezi, premjestanje ne smije da se odrazi na
pristupanje resursu.

6. Objasniti transparentnost relokacije?


Kod transparentnosti relokacije resurs se premjesta sa jedne lokacije na drugu u toku pristupa, tj. koristenja resursa.
Takva relokacija ne smije da utice na korisnika i korisnicku aplikaciju.

7. Objasniti transparentnost replikacije?


Transparentnost replikacije znaci da postojanje vise kopija jednog resursa rasporedjenih na razlicite lokacije u mrezi
treba da bude skriveno od korisnika i korisnickih aplikacija.

8. Objasniti transparentnost konkurencije?


Se odnosi na situaciju kada vise procesa istovremeno koristi neki djeljivi resurs. Ta cinjenica ne smije da utice na
pruzanje usluga i korektno izvrsavanje obrade za svakog pojedinacnog korisnika.

9. Objasniti transparentnost otkazivanja?


Transparentnost otkazivanja oznacava da otkaz neke hardverske ili softverske komponente u distribuisanom sistemu
ne smije da omete izvrsavanje zahtjeva korisnika.

10. Objasniti transparentnost presistencije?


Se odnosi na skrivanje cinjenice da je zahtjevani resurs u memoriji ili na disku.

11. Objasni protokol za povezivanje metode udaljenih objekata?


Odvija se u tri koraka DoOperation getRequest; sendReply.
12. Kako se vri sinhronizaciju logikih satova u distribuisanim sistemima?
Svakom dogaaju se pridruuje vremenski peat ts (time stamp) koji predstavlja vrijeme kada je nastao dogaaj,
izmjereno prema lokalnom satu raunara na kome je dogaaj nastao: ts (ei) je vrijeme nastanka dogadjaja ei u voru
u kome je ei nastao.
13. Objasniti sta je globalno stanje u distribuisanim sistemima?
Globalno stanje u distribuisanim sistemima definisano je lokalnim stanjem svakog procesa i poruka koje su u fazi
prenosa . Poznavanje globalnog stanja moze da bude bitno u pojedinim situacijama kao sto je utvrdjivanje da li je
doslo do potpunog zastoja ili je distribuisana aplikacija zavrsila sa radom. Olaksavajuca okolnost je sto najcesce
nije potrebno poznavanje globalnog stanja cijelog distribiusanog sistema, vec samo jednog skupa komponenti koje
se nalaze u medjusobnoj interakciji.

14. Objasniti imenovanje kao jedan od najvaznijih servisa koje posredni softver (middleware) podrzava?
Pod imenovanjem se podrazumjeva dodjeljivanje imena komponentama, resursima i servisima u skladu sa
usvojenim sistemom imenovanja I razrijesavanja imena, tj. preslikavanja imena u adresu lokacije na kojoj se
entitet nalazi. Pristup bilo kom entitetu u sistemu se omogucava na osnovu njegove adrese. Adresa oznacava
mjesto pristupa, tj. lokacije na kojoj se entitet nalazi. U principu svi korisnici bi mogli da pristupe jednom entitetu
na osnovu njegove adrese. Nevolja je medjutim u tome sto mnogi entiteti mogu mjenjati lokaciju u sistemu.
Problem se moze rjesiti uvodjenjem posebnih imena kaja su nezavisna od lokacije entiteta, takva imena se
nazivaju identifikatori.

15. Objasniti sta su ugnjezdene transakcije?


Ugnjezdene transakcije omogucavaju bolje performance sistema u cjelini I mogu rjesiti neke probleme vezane za
ravne transakcije. Ugnjezdene transakcije se sastoje od vise podtransakcija. Transakcija najviseg niova moze
aktivirati vise podtransakcija koje se mogu izvrsavati paralelno I na razlicitim masinama. Problem moze nastati ako
jedna podtransakcija ( na primjer Podtransakcija1) izvrsi potvrdu, ali transkacija viseg niova transakcija0 otkaze,
rezultat podtransakcije1 se mora ponistiti.

16. Prikazati tri nivoa arihetekture softvera za upravljanje konkuretnim transakcijama?

17. Objasniti sta je replikacija?


Dva osnova razloga za koristenje replikacije su vezana za povecanje pouzdanosti I poboljsanje performansi
sistema. U slucaju da neki podatak, objekat ili servis otkaze, zahtjevi klijenta se mogu prebaciti na odgovarajuce
replike. Takodje, ukoliko dodje do korupcije podataka, replike se mogu iskoristiti da se korupcija otkrije I da se
pogresni podaci koriguju ili otklone. U slucaju preopterecenosti jednog servera, moguce je kreirati vise
distribuisanih replika I izvrsiti preraspodjelu zahtjeva upucenih serveru. Kada je u pitanju geografska
uravnotezenost distribuisanih sistema, replike se mogu kreirati u blizini klijenta sa ciljem da se ubrzo pristupi
podacima.
18. Navesti znacajna pitanja u implementaciji replikacije?
Znacajna pitanja u implementaciji replikacije vezana su za to ko kreira repliku, gdje je I kad je kreira.

19. Definisati pojam distribuisanog sistema datoteke?


Distribuisani sistem datoteke (DSD) predstavlja skup datoteka koje se nalaze na razlicitim racunarskim sistemima
(cvorovima) u racunarskoj mrezi. DSD omogucava korisnickim procesima (klijentima) pristup I rad sa datotekama
koje su uskladistene na lokalnim diskovima udaljenih umrezenih racunara. Skup servisa koje obezbjedjuje DSD
posjeduje skup operacija koje su slicne operacijama konvencionalnog operativnog sistema. Pri tome, uspjesan
distribuisani sistem datoteke treba da posjeduje osobine transparentnosti, otpornosti na otkaze I uravnotezenosti.

20. Objasniti sta je semantika djeljenja datoteke?


Semantika djeljenja datoteka definise pravila na osnovu kojih se odredjuje efekat konkuretnog pristupa datotekama
od strane vise korisnickih programa. Drugim rijecima semantika djeljenja definise kako ce se akcija jendog
programa na jednoj datoteci vidjeti od strane drugih programa koji konkurentno koriste tu istu datoteku.
Distribuisani sistemi datoteke koriste jednu od sljedecih semantika:
1. unix semantiku 3. semantiku nepromjenljivih dijeljenja datoteke
2. semantiku tipa transakcije 4. semantiku seanse

Semantika seanse se sastoji od grupe klijenata koji u nekom vremenskom intervalu konkurentno pristupaju jednoj
datoteci. Po definiciji svi ucesnici jedne seanse su locirani u istom lokalnom cvoru I djele jedne kopiju u isto vrijeme.
Jedna datoteka moze imati vise kopija, pri cemu svaka kopija pripada nekom drugoj seansi.

21. Objasniti metodu pristupa?


Pristup udaljenim datotekama se, u principu, moze ostvariti na dva dijametralno suprotna nacina ili modela. Prvi
nacin je da se klijentima obezbjedi interfejs sa skupom servisa koji je slican servisima koje imaju konvencionalni
operativni sistem. Datoteka kojoj se pristupa se nalazi na udaljenom serveru koji posjeduje svoj konvencionalni
sistem za upravljanje podacima. Klijent posredstvom interfejsa ispostavlja zahtjeve za obradom koje izvrsava server
I zatim rezultate obrade salje klijentu. Ovakav model pristupa se naziva udaljeni servis datoteke (remote file
service) ili model udaljenog pristupa (remote access service). Drugi nacin je da klijent, na zahtjev dobije kopiju
datoteke koju obradjuje lokalno. Po zavrsetku obrade, klijent salje datoteku serveru, tako da se moze koristiti od
strane drugih klijenata. Ovaj model se, na primjer cesto koristi u okviru FTP servisa interneta.
Pitanja i odgovori - sa predavanja
ta je Operativni sistem?
Softver koji hardver ini korisnijim, podesnijim i pristupanijim krajnjem korisniku (user friendly).

Interfejsi sa operativnim sistemom?

Procesu je potreban pristup OS :

1. itanje datoteke 3. kreiranje novog procesa


2. slanje datoteke 4. pristup disku

Klasifikacija operativnih sistema?


Tip operativnog sistema Broj procesora Broj procesa Djeljena memorija

Monoprogramski 1 1 -

Vieprogramski 1 1 -

Vieprocesorski 1 1 Da

Distribuisani 1 1 Ne

Kontrolni blok procesa (KBP) ili deskriptor procesa


a) ime procesa d) PSW
b) oblast programa e) oblast podataka
c) prioritet f) identitet vlasnika
d) vrijednost registara e) logiko stanje
e) tip i lokacija resursa koji su dodjeljeni procesu
f) listu resursa koji su potrebni
g) kljuevi koji se koriste za zatitu
Dijagram stanja procesa

Redovi ekanja - prikaz:

SJF algoritam minimizira prosjeno vrijeme provedeno u sistemu, radi bez prekidanja I bira posao koji zahtjeva
najmanje procesorskog vremena. Nedostatak:u optem sluaju ne moe biti implementiran. Takodje, mogue je
gladovanje (starvation). Ovaj alogoritam se koristi samo u kombinaciji sa drugim algoritmima.

Efekat konvoja (FCFS)


Kada se kratkoroni proces nalazi iza dugotrajnog, tada prosjeno vrijeme raste.

ta su niti procesa?
Niti su komponente procesa, proces moze da kreira nit, a nit uvijek prethodi od procesa.
Problem upravljanja uporednim procesima: Kada proces udje u kritinu sekciju, on ne smije tad biti prekinut.
Da bi procesi S i R ispravno funkcionisali kada njihove relativne brzine nisu poznate, potrebno je da:
a) poiljalac S ne smije da alje poruku kada je bafer pun jer bi se ona izgubila
b) primalac R ne smije da uzima poruku kada je bafer prazan jer bi to mogao protumaiti kao signal da treba da
prestane sa radom. Vrijednost promjenljive N mora u trenutku pristupa baferu bilo kog procesa biti jednaka
stvarnom broju poruka u baferu.
Potrebno je da OS ispuni sljedee zahtjeve:

Zahtjev 1: Uporedni procesi sa kritinim sekcijama, jedan u odnosu na drugog, moraju se meusobno iskljuivati
tako da se istovremeno ne nalaze u svojim kritinim sekcijama.
Zahtjev 2: Proces koji se zaustavio van svoje kritine sekcije ne smije onemoguiti dalje odvijanje drugih,
nezavisnih procesa.
Zahtjev 3: Procesi ne smiju beskonano dugo ekati na resurse ili signale.

Interna fragmentacija - to je pojava neiskoritenosti prostora u particiji, gdje je program manji od particije.
Eksterna fragmentacija to je fenomen kod rada sa dinamikim particijama, ostatak memorije koji ne moe biti
dodjeljen nijednom procesu.
Adresiranje pomou tabele - Adresiranje pomou tabele, prevoenje programske adrese (p,d) u memorijsku
adresu se moe realizovati na nain slian postupku prevoenja adrese u logikom segmentiranju.

Postupak kod izvravanja instrukcije kod dinamikih stranica

1) Ako je programska adresa kojoj se pristupa u memoriji, nastavi sa izvravanjem instrukcije, inae idi na
korak 2
2) Prekini izvravanje programa
3) Nai slobodan memorijski blok.
4) Ako takav blok ne postoji izbaci jednu od stranica
5) dodeljenih programu i tako oslobodi blok
6) Pronai na disku stranicu kojoj se pristupa i upii je u raspoloiv blok
7) Auriraj tabelu stranica (upii adresu bloka u koji je smjetena stranica)
8) Iniciraj izvravanje instrukcije koja je izazvala prekid

Zavisnost broja stranicnih prekida od velicine adrese?

1) Male stranice: memorija sadri samo ono to je potrebno (mali broj straninih prekida)
2) Vee stranice: memorija sadri i dijelove koji joj nisu potrebni (broj straninih prekida se poveava)
3) Broj straninih prekida opada kada je veliina stranice jednaka veliini procesa
4) Broj prekida zavisi i od broja okvira koji su dodjeljeni po procesu

You might also like