OS teorija Flashcards

1
Q

Kada jedan proces kreira novi proces korišćenjem fork(), šta je deljeno između
parent i child procesa?
a) stek
b) heap
c) programski kod

A

c)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Koja je osnovna razlika između sistemskog poziva i funkcije iz standardne C
biblioteke?

A

Kada se radi o sistemskom pozivu prelazi se u kernel mod, dok kod poziva funkcije
standardne biblioteke to nije slučaj.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Sta se menja u upravljačkom bloku niti prilikom zamene niti (context switch-a) i
zašto?

A

Menja se stanje niti, vrednosti registra opste namene, flegova, program counter-a.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Za šta služi stek u memorijskoj slici procesa?

A

Stek služi za čuvanje parametara pri pozivu funkcije, povratne adrese i
lokalne promenljive funkcije.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

U kom slučaju se proces sa tri ULT niti brže izvršava od procesa sa tri KLT niti?
Objasniti ukratko.

A

Izvršava se u slučaju kada nema blokiranja niti. Kod ULT-a ukoliko dođe do
blokiranja niti, blokira se ceo proces. Međutim ukoliko nema blokiranja niti, ULT niti se izvršavaju brže jer pri promeni procesa ne zahteva privilegije kernel moda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

U čemu se cwait() operacija definisana u okviru monitora razlikuje od sem_wait()
operacije definisane nad semaforom?

A

Prilikom pozivanja semwait() funkcije vrši ispitivanje nad određenom promenljivom
dok prilikom korišćenja cwait() funkcije nemamo nikakva ispitivanja već ta funkcija
samo blokira proces.
cwait(a): blokira izvršenje procesa koji je pozvao ovu funkciju na
uslovnoj promenljivoj a; monitor je sada na raspolaganju za bilo koji
drugi proces.
Glavna razlika: Ako proces u monitoru izda signal i ako nijedan proces ne čeka na toj
uslovnoj promenjljivoj signal je izgubljen!!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Koje korake OS obavlja prilikom terminiranja procesa?

A

i) Menja se stanje procesa na exit.
ii) Prelazak u zombi stanje :)
iii) Ceka decu i procese sa kojima je povezan da se završe.
iv) Proces se briše iz memorije.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Na koje načine se prelazi iz jednog u drugi mod?

A

Prelazak iz korisnickog u kernel mod se vrši posredstvom sistemskih poziva.
Prelazak iz kernel u korisnicki mod: Po završetku sistemskog poziva,
upravljanje se vraća u korisnički mod.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Koji su uobičajeni resursi koje dele sve niti istog procesa?
.

A

Sve niti jednog procesa dele memorijski prostor tog procesa (adresni prostor),
globalne promenljive, otvorene fajlove procesa i druge resurse.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Navedite tri prednosti ULT u odnosu na KLT.

A

i) Mogućnost izvršavanja na različitim operativnim sistemima.
ii) Pri zameni niti nema promene moda.
iii) Raspoređivanje može biti specifično za svaku aplikaciju.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Šta sadrži upravljački blok niti? Šta se u njemu menja kada nit pozove sistemski
poziv i na koji način?

A

Upravljački blok niti (TCB) sadrži:
1. Pokazivač na stek
2. Kontekst niti (vrednosti registara, vrednost programskog brojača)
3. Stanje niti
4. Prioritet
5. Pokazivač na PCB…
4
Pri sistemskom pozivu može da se menja stanje niti, ukoliko je potrebno da se čeka
na U/I. Ako dođe do blokiranja niti čuva se kontekst niti u TCB.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Navesti tri konkretna događaja pri kojima aktivni proces prelazi u stanje Spreman
(Ready).

A

● Proces višeg prioriteta je primio semsignal koji je čekao
● Istekao je dodeljeni vremenski kvant tekućeg procesa
● Proces višeg prioriteta završio U/I operaciju

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Šta čini sliku procesa u glavnoj memoriji?

A

Slika procesa (Process image) predstavlja skup koji čine
program, podaci, stek, i atributi procesa
(PCB) smešteni u glavnu memoriju (delom i na disku).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Navesti u kojim situacijama nastaje trap i šta izvršava OS u tom slučaju?

A

Trap je instrukcija koja izaziva softverski prekid. Nastaje u slučajevima kada se
desi greška ili izuzetak. Kada nastane trap OS čuva kontekst prekinutog procesa i
prelazi se na funkciju/rutinu krenela za obradu prekida.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Navesti konkretne akcije/događaje zbog kojih planer (raspoređivač) procesa aktivni
proces neće prebaciti u stanje spreman (Ready).

A
  1. Čeka na U/I (Blokiran)
  2. Proces se završio (Exit)
  3. Proces roditelj ubija proces dete (Terminated)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Zašto se sistemski poziv ne startuje kao i bilo koja funkcija iz standardne biblioteke?

A

Zato što je za izvršenje sistemskog poziva neophodan prelazak u kernel mod, dok se
bibliotečke funkcije izvršavaju u user modu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Zašto OS primenjuje “nasilno” prekidanje aktivnog procesa (preemption) i u kojim
slučajevima se to javlja? 3

A

“Nasilno” prekidanje odnosno preemption se dešava kada se pojavi spreman
proces većeg prioriteta u odnosu na trenutno aktivan proces.
Nasilno prekidanje se javlja u slučaju da je primenjen neki od algoritama za
jednoprocesno planiranje koji imaju mod odluke sa prekidanjem. Primeri takvih
algoritama su: Round Robin, SRT(shortest remaining time). Način na koji se vrši
prekidanje zavisi od algoritma, kod SRT se bira proces sa najkraćim preostalim
vremenom za izvršenje, dok se za RR bira proces koji je najduže čekao na izvršenje.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Kojim procesima/nitima savremeni OS (Windows, MacOS, Linux..) daju prednosti pri
raspoređivanju, orijentisanim na CPU ili na U/I i na koji način?

A

Prednost imaju U/I orijentisani procesi. Koristi se Multilevel Feedback. Procesi se
organizuju u više redova, svaki put kada se proces izabere na izvršenje on se
pomera u red nižeg prioriteta. U/I procesi ostaju u redu najvišeg prioriteta. CPU uvek
proverava prvo red najvišeg prioriteta, ako u njemu nema procesa za izvršenje uzima
iz reda nižeg prioriteta i tako redom…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Da li je stek deo kontrolnog bloka niti TCB i zašto da/ne?

A

Stek nije deo kontrolnog bloka niti. TCB sadrži samo pokazivač steka. Svaka nit
ima svoj stek izvršenja. Proces nema stek ako postoje niti. (slika iz knjige)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Operativni sistem implementira segmentaciju sa straničenjem i virtuelni adresni
prostor procesa od maksimalno 256 segmenata, svaki segment ima maksimalno
2^14 stranica 4KB, smešta se u fizičku memoriju od 2^21 straničnih okvira. Koji je
format virtuelne adrese i koliki je maksimalni adresni prostor procesa u bajtovima?
Navesti i kratko obrazložiti.
a) Koliko stavki ima u tabeli segmenata za svaki proces?
b) Koliko bajtova je u okviru?
c) Koliko bitova u virtuelnoj adresi određuje segment, a koliko stranicu?
d) Koliko stavki je u tabeli stranica?
e) Koliko bitova je u svakoj stavci tabele stranica?

A

Format virtuelne adrese:
(stranica = pomeraj)
Maksimalni adresni prostor je 2^(8 + 14 + 12) = 2^34 = 16GB
256 segmenata
1 segment = 2^14 stranica od po 4KB
a) Koliko stavki ima u tabeli segmenata za svaki proces?
2^8
b) Koliko bajtova je u okviru?
Velicina okvira je uvek jednaka velicini stranice i to je 4KB.
c) Koliko bitova u virtuelnoj adresi određuje segment, a koliko stranicu?
Za segment treba 8. Za odredjivanje stranice 14, a za pomeraj 12.
d) Koliko stavki je u tabeli stranica?
2^14
e) Koliko bitova je u svakoj stavci tabele stranica?
21 + 3(V, M, R, i mozda ima jos neki)
21 jer pise da je fizičku memoriju od 2^21 straničnih okvira

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Operativni sistem implementira segmentaciju sa stranicenjem i virtuelni adresni
prostor procesa od maksimalno 128 segmenata, svaki segment ima maksimalno
2^12 stranica od 2KB. Koji je format virtuelne adrese i koliki je maksimalni adresi
prostor procesa u bajtovima.

A

Format virtuelne adrese:
Maksimalni adresni prostor je 2^(7 + 12 + 11) = 1 GB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Zamislite jednostavan sistem stranicenja sa sledecim parametrima : 2^32 B fizicke
memorije, velicina stranice od 2^10 B, 2^16 stranica logickog adresnog prostora.
Navesti i obrazloziti ukratko.
a) Koliko bitova je u logickoj adresi?
b) Koliko bajtova je u okviru?
c) Koliko bitova u fizickoj adresi odredjuje okvir?
d) Koliko stavki je u tabeli stranica?
e) Koliko bitova je u svakoj stavci tabele stranica?

A

a) Koliko bitova je u logickoj adresi?
10 + 16 = 26
b) Koliko bajtova je u okviru?
Velicina okvira jednaka je velicini stranice i to je 1KB (2^10).
c) Koliko bitova u fizickoj adresi odredjuje okvir?
32 - 10 = 22 bita odredjuje.
d) Koliko stavki je u tabeli stranica?
2^16 stavki.
e) Koliko bitova je u svakoj stavci tabele stranica?
Za svaki okvir 22 bita + 3 bita = 25 bita.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Koja je namena TLB bafera? Pretpostavite da je tabela stranica procesa koji se
izvrsava kao na slici (svi brojevi decimalni, sve adrese su adrese bajtova). Prikazati
generisane fizicke adrese i izgled stranica nakon sekvence virtuelnih adresa 1052,
2221, 5499. Ako nastane greska stranice, obradite je.

A

TLB je specijalni brzi kes i on sadrzi one stavke tabele stranica koje su nedavno
koriscene.
TLB cuva najskorije prevedene parove virtuelna-fizicka memorija, odnosno virtuelna
stranica - fizicki(stranicni) okvir.

24
Q

Koja je razlika izmedju raspoređivanja sa prekidanjem i bez prekidanja?

A

Kod rasporedjivanja bez prekidanja kada je proces u stanju izvrsenja, izvrsava se
sve dok se ne terminira ili dok se ne blokira zbog U/I.
Kod rasporedjivanja sa prekidanjem operativni sistem moze prekinuti proces koji se
izvrsava i premestiti ga u red spremnih procesa. Omogucava bolje usluge jer nijedan
proces ne moze dugo monopolizovati procesor.

25
Q

Razmotriti sistem sa diskom sa 16 sektora po stazi i 512B po sektoru. Disk se rotira
brzinom od 7200rpm i ima prosecno vreme trazenja(seek time) od 10ms. Posmatrati
datoteku koja ima 8 blokova pri cemu 1 blok zauzima 2 sektora i izracunati ukupno
vreme neophodno za citanje datoteke ako se koriste metode alokacije:

A

r – rotaciona brzina diska u obrtajima u sekundi
b - broj bajtova koji se prenose
N – broj bajtova na stazi diska
Ta - vreme pristupa (access time)
Ts - vreme trazenja (seek time)
FORMULA: Ta = Ts + 1/2r + b/rN
a) Kontinualna alokacija
Napomena: Kod kontinualne dodele samo jednom računamo vreme
pozicioniranja, preostale staze, ukoliko ih ima, se čitaju bez ikakvog vremena
pozicionaranja jer je glava već tu gde treba.
16 sektora
1 sektor = 512B
r = 7200rpm => 7200 / 60 = 120 rps
1 / (2*r) = 4,2ms
Ts = 10ms
Ta = Ts + 1/2r + 1/r * b/N
sada imamo datoteku koja ima 8 blokova gde 1 blok zauzima 2 sektora, znaci
nasa datoteka zauzima 16 sektora koliko ih i imamo.
Ta = 10ms + 4.2ms + 1 / 120 * (16 * 512B) / (16 * 512B)
Ta = 10ms + 4.2ms + 8.3 ms =22.5 ms
b) Indeksiranje
Mi celu traku pročitamo za 8.3ms, onda jedan sektor procitamo za:
8.3 / 16 =0.52ms
Ta = (10 + 4.2 + 0.5) * 16

26
Q

Brzina okretanja diska je 6000 RPM. Vreme trazenja je 10ms, a velicina disk sektora
je 512B, staza ima 1024 sektora. Za koliko se vreme procita sadrzaj datoteke od
512KB ako su blokovi datoteke, velicine 1KB smesteni:
a) sekvencijalno ide jedno pa drugi (lako)
b) u 16 nezavisnih grupa od po 32 bloka
c) ako se koristi indeksiranje (Linux)

A

a) sekvencijalno ide jedno pa drugi (lako)
Ta = Ts +1/(2r)+ b/(N*r)
r = 6000rpm = 100 rps
1/(2r) = 1/200 = 5ms
1024 * 512B je isto sto i 512KB
Ta = 10ms + 5ms + 512KB / (100 * 1024 * 512B) = 25 ms
b) u 16 nezavisnih grupa od po 32 bloka (NTFS)
16 * Ta gde nam je b = 32 * 1KB = 32KB
Ta32 = 10ms + 5ms + 32KB / (100 * 512KB) = 15.6ms
16 * 15.6 = 250ms
c) ako se koristi indeksiranje (Linux) koristi se i-node
Ako imamo 512KB i svaki blok je velicine 1KB znaci da imamo 512 blokova.
Ta = 512 * (10ms + 5ms + 1KB / (512KB * 100)) = 512 * 15.02 = 7690.24ms

27
Q

Brzina okretanja diska je 5400 RPM. Vreme trazenja je 10 ms a velicina disk sektora
je 512 B, staza ima 1024 sektora. Za koliko se vreme procita sadrzaj datoteke od 256
KB ako su blokovi datoteke, velicine 4KB smesti:
a) sekvencijalno
r = 5400rpm = 5400 / 60 = 90rps
Ts = 10ms
sektor je 512B, 1024 sektora
256KB sadržaja
Ta = Ts + 1/2r + b/rN
Ta = 10ms + 5.5ms + 256KB / (90 * 1024 * 512)
= 10ms + 5.5ms + 5.5ms = 21ms
b) u 8 nezavisnih grupa od po 8 blokova (NTFS)
8 * Ta
8 blokova * 4KB = 32kB = b
Ta = 10ms + 5.5ms + 32kB / 90 * 1 / (512B * 1024) = 16,2ms
8 * Ta = 130ms
c) ako se koristi indeksiranje (Linux)
Gledaš za jedan blok pa puta koliko blokova imaš
Imamo 256KB sadržaja i imamo blokove od 4KB i to znači da imamo 64 bloka
Ta = 64 * (10ms + 5.5ms + 4KB(velicina bloka) / (90 * 512KB)) = 1001ms

A

a) sekvencijalno

b) u 8 nezavisnih grupa od po 8 blokova (NTFS)

28
Q

Ako Unix file sistem ima blokove velicine 2KB i disk adrese od 4B koliko pristupa
disku je potrebno za citanje 10-og, a koliko 600-tog bloka datoteke ukoliko je i-cvor u
glavnoj memoriji.

A

broj blokova velicina
direktno 12 24KB
jednostruko 512 512 * 2KB
dvostruko 512 * 512 2^29B
trostruko 512 * 512 * 512 2^38B
10. blok => 1 pristup
600. blok => 3 pristupa

29
Q

Ukoliko virtuelni adresni prostor iznosi 2^22 stranica od 2KB, koji se mapira na fizicku
memoriju od 2^17 stranicnih okvira, koliko:
a) bitova iznosi virtuelna adresa
b) bitova iznosi fizicka adresa
c) koliko bitova od adrese predstavija offset
d) koliko stavki (ulaza) ima u invertovanoj tabeli stranica,
e) koliko ima pristupa memoriji da bi se pristupilo konkretnom bajtu/reci sa
podatkom ukoliko se koristi invertovana tabela stranica i hash funkcija daje
jedinstvenu vrednost?

A

a) bitova iznosi virtuelna adresa
2^22, 2KB = 2^11 => 22 + 11 = 33 bita
b) bitova iznosi fizicka adresa
2^17, 2KB = 2^11 => 17 + 11 = 28
c) koliko bitova od adrese predstavija offset
11 (isto sto i velicina stranice)
d) koliko stavki (ulaza) ima u invertovanoj tabeli stranica,
koliko okvira toliko stavki => 2^17
e) koliko ima pristupa memoriji da bi se pristupilo konkretnom bajtu/reci sa
podatkom ukoliko se koristi invertovana tabela stranica i hash funkcija daje
jedinstvenu vrednost?
Ima dva pristupa memoriji. (inverznoj tabeli i trazenom podatku u memoriji)

30
Q

Na koji nacin se u NTFS registruju blokovi u kojima je sadrzaj datoteke, na koji u
Linux ext4 fajl sistemu, na koji u FAT32 fajl sistemu?

A

Ovako nisam siguran ali rekao bih sledece (neka ispravi neko ako misli drugacije). U
FAT sistemu (msm da isto vazi i za ext4 posto su oba vezana za UNIX) moguce je
da se cuvaju direktorijumi u direktorijumu i samim tim se formira jedno hijerarhijsko
23
stablo. Ako trazimo neku datoteku maltene idemo tim stablom dok ne nadjemo tu
datoteku koja nam je potrebna.
Sto se tice NTFS on ima MFT (Master File Table) tj. glavnu tabelu fajlova. Ona sadrzi
jedan niz redova, koji se zovu zapisi, od po 1024bajta. Svaki red opisuje jedan fajl na
ovom volumenu (volumen je skup klastera a klaster je skup sektora gde je sektor
najmanja jedinica koja moze da se dodeli za neki podatak). Ako je sadrzaj fajla
dovoljno mali onda se nalazi u jednom redu MFT ako ne onda jedan red sadrzi neke
informacije(vrv gde se nalaze ostatak fajla) a ostatak fajla se nalazi u druge zapise

31
Q

Navesti tri metode (strategije) koje se primenjuju za ubrzanje pristupa podacima na
disku?

A

a) Baferovanje
b) Rasporedjivanje i planiranje pristupa u disku
c) RAID (Redundant Array of Independent Disks)

32
Q

Sta se menja u tabeli stranica tokom obrade greske stranice? Da li se i sta menja u
TLB-u i zasto? 2

A

Kada se desi greska stranice, to znaci da stranica koja je zahtevana nije prisutna u
memoriji. U tom slucaju neophodno je pribaviti stranicu sa diska i ucitati je u
memoriju, treba azurirati tabelu stranica u koju treba dodati novu stavku koja se
sastoji od stranicnog okvira i 3b (valid, modify i reference) u tabelu stranica. Takodje
treba azurirati sadrzaj TLB-a u koji treba takodje dodati novu stavku, zato što TLB
služi kao brzi keš koji sadrži stavke tabele stranice koje su nedavno korišćene.

33
Q

Sta je i-cvor (i - node) i Unix/Linux file sistemu i gde se nalazi pre i nakon otvaranja
datoteke? Ako Linux file sistem ima blokove velicine 1KB i disk adrese od 8B koliko
pristupa disku je potrebno za modifikaciju 10-og i 200-tog bloka datoteke koja nije
otvorena?

A

I-node predstavlja kontrolnu strukturu, koja cuva osnovne informacije koje su
potrebne OS-u da bi upravljao fajlovima. Jedan I-node moze biti vezan za vise
fajlova ali aktivan I-node je vezan uveka za samo jedan fajl. I-node sa cuvaju u
tabeli I-node-va na disku.
Pre otvaranja datoteke, nalazi se u tabeli i-cvorova koja postoji na disku (cuva icvorove
svih fajlova u sistemu). Kada se fajl otvori, i-cvor se unosi u glavnu memoriju
i cuva se u tabeli i-cvorova.
Nivo Broj blokova Velicina
direktni 12 12KB
jednostruki 128 128KB
dvostruki 128128 16MB
trostruki 128
128*128 2GB
address = blok / adresa = 2^10 / 2^3 = 2^7 = 128 //2 na 3 je 8
10. blok => 2 pristupa
200. blok => 4 pristupa
KADA DATOTEKA NIJE OTVORENA ZNACI DA JE NA DISKU I DA NAM TREBA
JOS JEDAN PRISTUP!

34
Q

b) Blokovi su velicine 2KB i disk adrese od 8B. koliko pristupa disku je potrebno za
modifikaciju 9-og i 300-tog bloka datoteke koja nije otvorena?

A

Nivo Broj blokova Velicina
direktni 12 24KB
jednostruki 256 512KB
dvostruki 256 * 256 128MB
trostruki 256 * 256 * 256 32GB
address = blok / adresa = 2^11 / 2^3 = 2^8 = 256
9. blok =>2 pristup
300. blok => 4 pristupa

35
Q

Za sta sluzi Virtual File System?

A

Virtual File System predstavlja jedinstveni interfejs ka razlicitim fajl sistemima. Kod
VFS-a se polazi od predpostavke da su svi fajlovi slicni, pa se fajovi predstavljaju kao
objekti. Kada proces pokrene neku operaciju iz file sistema, najpre se od strane
kernela poziva f-ja u VFS-u koja je nezavisna od konkretnog fajl sistema, kada se
ona zavrsi, poziv funkcije sa prevodi u f-ju konkretnog file sistema.

36
Q

Koji elementi kasnjenja ucestvuju u citanju ili upisivanju na disk i kako ih OS moze
smanjiti?

A

i) Vreme trazenja;
ii) Rotacion kasnjenje;
iii) Vreme prenosa
Moze se smanjiti primenom razlicitih tehnika za planiranje i rasporedjivanje diska
(CSCAN, SCAN, FCFS)

37
Q

Ukratko objasniti razliku izmedju realne (fizike) i virtuelne adrese.

A

Virtuelana adresa je referenca memorijske lokacije koja ne zavisi od trenutnog
smeštanja podataka u memoriju. Fizička adresa je stvarna lokacija u glavnoj
memoriji. Da bi mogao da se izvrši pristup memoriji potrebno je najpre prevođenje u
fizičku adresu. - knjiga
Virtuelna adresa je adresa u programu i nju generiše procesor. Fizička adresa je
adresa na računarskom hardveru. Preslikavanje iz virtuelne u fizičku adresu vrši
poseban hardver (MMU) jedinica za upravljanje memorijom.

38
Q

Zašto se kod segmentacije javlja eksterna, a kod straničenja interna
fragmentacija, i kako kod segmentacije možemo da eliminišemo eksternu
fregmentaciju?

A

Interna fragmentacija se javlja kod particija fiksnih veličina, kada se program
učita u memoriju on najverovatnije neće da ispuni celu particiju jer se
programima dodeljuje particija veća od zahtevane. Pa se preostali deo
particije ne evidentira kao slobodan i ne može se dodeliti nijednom procesu.
Kod straničenja se javlja zbog toga što retko koji proces zahteva tačan broj
stranica.
Eksterna fragmentacija se javlja kod nekontinualnog smeštanja procesa.
Fragmentaciju eleminišemo korišćenjem straničenja ili razmeštanjem
fragmenata da budu kontinualni(sazimanje).

39
Q

Sta je proces?

A

Proces je osnovni koncept operativnog sistema i predstavlja program u izvršavanju
na procesoru.

40
Q

Opisati ukratko korake koje OS obavlja prilikom promene procesa (process switch,
context switch)

A

● Snimiti sadržaj registara procesora, programski brojač i
statusni registar procesora u PCB procesa
● Ažurirati PCB procesa koji je do tada bio u stanju Izvršavanje
(Running)
● Premestiti PCB u odgovarajući red – Spreman, Blokiran,
Spreman/suspendovan i promeniti mu stanje
● Izabrati sledeći proces za izvršavanje (zar ne radi dispečer ovo?)
● Ažurirati PCB procesa koji je izabran u stanje Izvršavanje
● Ažurirati stukture podataka za upravljanje memorijom
● Obnoviti sadržaj registara procesora na vrednosti koje su
postojale u trenutku kad je proces promenjen iz stanja Izvršavanje

41
Q

Zasto savremeni OS ne implementiraju tehnike sprecavanja uzajamnog blokiranja?

A

Strategije sprečavanja i izbegavanja uzajamnog blokiranja ograničavaju pristup
resursima i nameću ograničenja procesima.

42
Q

Ukoliko virtuelni adresni prostor iznosi 2^32 stranica od 4KB, koji se mapira u fizicku memoriju od 2^20 stranicnih okvira, koliko:
a) Koliko bitova iznosi virtuelna adresa?
b) Koliko bitova iznosi fizicka adresa?
c) Koliko bitova od adrese predstavlja offset?
d) Koliko stavki (ulaza) ima u invertovanu tabelu stranica?
e) Koliko pristupa memoriji da bi se pristupilo konkretnom bajtu/reci sa
podatkom?

A

a) Koliko bitova iznosi virtuelna adresa?
2^32, 4KB => 32 + 12 = 44 bita
b) Koliko bitova iznosi fizicka adresa?
2^20, 4KB => 20 + 12 = 32 bita
c) Koliko bitova od adrese predstavlja offset?
12 (isto sto i velicina stranice)
d) Koliko stavki (ulaza) ima u invertovanu tabelu stranica?
broj stavki = broj okvira = 2^20
e) Koliko pristupa memoriji da bi se pristupilo konkretnom bajtu/reci sa
podatkom?
ima dva pristupa memoriji, jedan za tabelu stranica i drugi pristup za trazeni
podatak u memoriji.

43
Q

Zasto je u savremenim OS implementirana varijacija algoritama Clock, a ne klasican
LRU ili optimalni algoritam?

A

Optimalni algoritam je nemoguce implementirati(u trenutku greske OS ne moze da
zna kada ce koja stranica u memoriji biti referencirana), a LRU bi morao da prodje
kroz celu tabelu stranica kako bi pronasao onu koja je najdavnije koriscena. Varijacija
algoritma Clock sa 2 kazaljke koja se koristi u ovim sistemima pruza brzu zamenu
stranica od LRU algoritma i zato je bolja.

44
Q

Koja je razlika izmedju prekidima vodjenog U/I (interrupt-driven I/O) i DMA (Direct
memory access (DMA)?

A

Kod DMA je direktan prenos podataka izmedju U/i uredjaja i glavne memorije, dok je
kod tehnike vodjene prekidima prenos izmedju U/I uredjaja i glavne memorije
omogucen preko procesora.

45
Q

Koja je razlika izmedju prekida (interrupt-a) i trap-a? Navesti po primer.

A

Prekid je asihroni dogadjaj koji se desava na hardveru i on suspenduje trenutni rad
procesora kako bi se obradio. Trap je instrukcija koja izaziva softverski prekid ako u toku izvrsenja procesa nastane greska ili izuzetak.

46
Q

Zasto je velicina stranice uvek velicina stepena 2?

A
  1. Lako se dokazuje da je virtuelna adresa isto sto i logicka(tako pise u knjizi).
  2. Lako se implementira hardver za prevodjenje adresa u toku izvrsenja.
47
Q

Koje resurse obično dele sve niti jednog procesa?

A

Sve niti jednog procesa dele: memorijski prostor procesa,otvorene fajlove,globalne
promenljive i druge resurse.

48
Q

Ako se jedan proces završi a još uvek se izvršavaju niti tog procesa, hoće li one
nastaviti da se izvršavaju?

A

Zavrsavanjem procesa, zavrsavaju se sve niti tog procesa, dakle nece nastaviti sa
izvrsenjem.

49
Q

Sta je kontekst izvrsenja procesa i gde se cuva?

A

Kontekstni podaci (podaci smešteni u registrima procesora za
vreme izvršenja procesa).
Kontekst izvrsenja procesa predstavlja vrednost programskog brojaca, registara,
flagova pri zameni procesa i ovaj kontekst se cuva u PCB-u procesa.

50
Q

Sta sadrzi upravljacki blok niti i koji atributi niti se menjaju prilikom izvrsenja
sistemskog poziva od strane niti i kako? U kom stanju su niti N1 i N2 procesa P za
svaki od sledeca dva slucaja, ako su niti impelmentirane na nivou korisnika (ULT) i
na nivou kernela (KLT)?

A

Upravljacki blok niti (TCB) sadrzi:
● stanje niti
● prioritet
● Pokazivac na stek
● Pokazivac PCB
● Kontekst niti(vr pr brojaca i drugih registara)
Pri izvrsenju sistemskog poziva moze da se menja stanje niti i kontekst niti.

51
Q

Ukoliko su ispunjena 4 uslova za nastanak uzajamnog blokiranja da li obavezno
nastaje uzajamno blokiranje? Objasniti.

A

Uslovi su:
Drzi cekaj,uzajamno iskljucivanje,bez prekidanja i sva tri ispunjena uslova moze doci
do uzjamnog blokiranja,ali ne mora .Dok kada se ovim uslovima dodoa i kruzno
cekanje mora doci do uzajamnog blokiranja ukoliko ne postoji veci broj instanci
resursa.
Ukoliko postoji vise instanci resursa i ispunjena su 4 uslova ne mora doci do
blokiranja.

52
Q

Koja je glavna prednost korišćenja tabele stranica u više nivoa na jednonivovsku
tabelu stranica?

A

Prednost višeslojne (hijerarhijske) tabele stranica u odnosu na jednostepenu je:
a) Brže traženje broja stranica.
b) Tabela stranica može zauzeti mnogo manje prostora ako postoje veliki regioni
neiskorišćene memorije.
c) Svakim segmentom (kod, podaci, stek) može se upravljati odvojeno.

53
Q

Pretpostaviti da rac sistem ima 38-bitne virtuelne adrese i 32- bitne fizicke sa
tabelom stranica od 2 nivoa sa stranicama velicine 16KB i ulazima u tabele stranica
od 4B navesti format virtuelne adrese.

A

Fizicka adresa:
38 bita
16KB///2 na 14B
38-14 = 24
znaci format je virtuelne adrese
Pt1 pt2 pomeraj
12 12 14

54
Q

Navesti osnovne razlike algoritma zamene straica kloka sa jednom i dve kazaljke.

A

Alogritam kloka sa dve kazaljke koristi dodatne bitove ,pri zameni stranica,dodaje se
pored R bita za referenciranje i dodatni M bit za modifikaciju stranica.Ovim se
unapredjuje clock algoritam.Pri zameni se trazi prvo kombinacija R=0 M=0,ako nema
takve stranice prolazi se ponovo i svi R bitovi se postavljaju na 0-drugi
prolazak,izbacuje se prva kombinacija R=0 M=1 na koju se najidje u trecem prolasku.

55
Q

Pretpostaviti da se koristi algoritam sata i bit upotrebe se postavlja na 1 kada se
stranica smesti u memoriji. Ukoliko pokazivac sata pokazuje na okvir 4 koje stranice
ce biti zamenjene sl nizovom: 32, 14 ,15, 2, 18, 14. Objasniti zasto ! Prikazati sadrzaj
memorije i bitova koriscenja.

A

Osnovna razlika je to sto se kod algoritma sa jednom kazaljkom posmatra samo bit
upotrebe. Ako je 1 on se menja n 0 pri prolasku ako nema pogotka. Kada se naidje
na prvi okvir ciji je bit upotrebe na 0 on je kandidat za menjanje.
Kada koristimo algoritam sa dve kazaljke postamtramo bit upotrebe i bit
modifikacije.Pri prvom prolasko trazimo par(u=0,m=0),ne menjajuci bit upotrebe,aako
ga nadjemo imamo pogodak i vrsi se zamena. Medjutim , ako ga ne nadjemo gleda
se par (u=0,m=1), i pri prolasku se menja bit upotrebe na 0 ako nema pogotka i tako
sve u krug
0 1 2 3 4 5 6 7
17 32 14 15 7 13 2 18
1 1 1 1 0 1 1 1

56
Q
A