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

CPU scheduling

1. Dat je sljedeći skup procesa čija su vremena izvršavanja na procesoru (CPU burst time,
izražena u milisekundama) i prioriteti dati u sljedećoj tabeli:

Proces Vrijeme izvršavanja Prioritet


P1 10 3
P2 1 1
P3 2 3
P4 1 4
P5 5 2

Procesi su u sistem naišli u poretku P1, P2, P3, P4, P5, svi približno u trenutku t=0.
a. Nacrtati Gannt-ove karte dodjele procesora ukoliko se raspoređivanje vrši na osnovu sljedećih
algoritama: FCFS, SJF bez pretpražnjenja, raspoređivanje na osnovu prioriteta bez pretpražnjenja
(manji broj znači veći prioritet) i RR sa kvantumom Q=1.
b. Odrediti vrijeme potrebno za kompletiranje procesa (tournaround time) za svaki proces (za
sve gore pomenute algoritme).
c. Odrediti vrijeme čekanja za svaki proces i srednje vrijeme čekanja (za sve gore pomenute
algoritme). Za koji je algoritam srednje vrijeme čekanja najmanje?

(a) Gannt-ove karte dodjele procesora:


(b) Vrijeme potrebno za kompletiranje procesa:

(c) Vrijeme čekanja:

Srednje vrijeme čekanja je najmanje u slučaju SJF bez pretpražnjenja.

2. Dat je sljedeći skup procesa čija su vremena nailaska u sistem (arrival time) i vremena
izvršavanja na procesoru, izražena u milisekundama data u sljedećoj tabeli:

Proces Vrijeme nailaska Vrijeme izvršavanja


P1 0 7
P2 2 4
P3 4 1
P4 5 4

Nacrtati Gannt-ovu kartu i odrediti srednje vrijeme potrebno za kompletiranje procesa i srednje
vrijeme čekanja ukoliko se raspoređivanje procesa obavlja po:
a. SJF algoritmu bez pretpražnjenja.
b. SRTF algoritmu (SJF sa pretpražnjenjem).

(a) Gannt-ova karta dodjele procesora – SJF algoritam:

Vremena potrebna za kompletiranje procesa i vremena čekanja su:


(b) Gannt-ova karta dodjele procesora – SRTF algoritam:

Vremena potrebna za kompletiranje procesa i vremena čekanja su:

Deadlock

3. Posmatrajte sistem u kome se nalaze tri procesa (P0, P1 i P2) i resurs A sa 12 instanci. Stanje
sistema je dato sljedećom tabelom:

Resurs A ima 3 slobodne instance Odrediti da li je sistem u bezbjednom stanju.

Sistem je u bezbjednom stanju, sekvenca P1, P0, P2 dovešće do zadovoljenja potreba svih
procesa.
Proces P1 prvo uzima još dve instance resursa, a zatim ih vraća:
Proces P0 zatim uzima još pet instanci resursa, a potom ih vraća:

Na kraju, proces P2 uzima još sedam instanci resursa:

4. Posmatrajte sistem u kome se nalaze tri procesa (P0, P1 i P2) i resurs A sa 11 instanci. Stanje
sistema je dato sljedećom tabelom:
Resurs A ima 2 slobodne instance. Odrediti da li je sistem u bezbjednom stanju.

Sistem nije u bezbjednom stanju. Na primjer, za sekvencu P1, P0, P2, proces P1 bi zadovoljio
svoje potrebe i vratio resurse, ali se sistem može dovesti u zastoj ukoliko P0 zatraži maksimalan
broj instanci resursa.

5. Posmatrajte sistem u kome se nalazi pet procesa (P0, P1, P2, P3 i P4) i tri resursa sa sljedećim
karakteristikama: resurs A (10 instanci), resurs B (5 instanci), resurs C (7 instanci). Stanje sistema
u trenutku t0 dato je sljedećom tabelom:

a. Da li je sistem u stabilnom stanju?


b. Da li će sistem da odobri zahtjev P1 (1, 0, 2)?
c. Da li će sistem da odobri zahtjev P4 (3, 4, 0)?
d. Da li će sistem da odobri zahtjev P0 (1, 2, 2)?
e. Da li će sistem da odobri zahtjev P4 (1, 1, 0)?

(a) Prvo se određuje matrica potreba need (svaki element matrice need se računa kao
razlika odgovarajućih elemenata matrica max i allocation):
Zatim se primjenom bankarskog algoritma (uvijek se polazi od procesa sa manjim zahtjevima, a
kasnije se riješavaju problemi najzahtjevnijih procesa...) pronalazi sekvenca P1, P3, P4, P2, P0
koja dokazuje da je sistem u stabilnom stanju.

(b) Proces P1 izdaje zahtjev za dodjelom resursa request = (1,0,2). Primjenićemo algoritam koji
razriješava zahtjeve za dodjelom resursa.
Prvo se provjerava da li je request <= available. Kako je (1,0,2) <= (3,3,2), uslov je ispunjen, pa se
zatim obavlja kvazidodjela resursa na osnovu zahtjeva.

Zatim se primjenom bankarskog algoritma pronalazi sekvenca P1, P3, P4, P0, P2 koja zadovoljava
uslove stabilnosti. To znači da će sistem ispuniti zahtev P1 (1,0,2).

(c) Sistem neće odobriti zahtjev procesa P4 za dodjelu resursa: request = (3,4,0), jer je zahtjev
veći od rasploživih resursa.

(d) Sistem neće odobriti zahtev procesa P0 za dodelu resursa: request = (1,2,2), jer se poslije
obavljene kvazidodjele, sistem ne nalazi u stabilnom stanju.

(e) Sistem će odobriti zahtjev procesa P4 za dodjelu resursa: request = (1,1,0) jer je
request <= available, tj. (1,1,0) <= (3,3,2), a sistem se poslije obavljene kvazidodjele, nalazi u
stabilnom stanju (sekvenca P3, P4, P1, P2, P0).
Upravljanje memorijom

6. Glavni program (GP, veličine 60KB) poziva u datom redoslijedu sljedeće segmete programa:
A (20KB), B (50K) i C (40KB). Segment B u jednom trenutku poziva segment D (40KB), koji opet
poziva segment E (70KB). Segment C u jednom trenutku poziva segment F (120KB).
a. Skicirati kako se za dati primjer može primjeniti tehnika preklapanja (overlay)?
b. Koliko je najmanje radne memorije potrebno za izvršavanje ovog programa?
c. Koliko bi memorije bilo potrebno bez primjene tehnike preklapanja?

(a) overlay 1: GP+A = 60K+20K = 80K


overlay 2: GP+B+D+E= 60+50+40+70 = 220K
overlay 3: GP+C+F = 60+40+70 = 170K
(b) max (80, 220, 170) = 220K
(c) GP+A+B+C+D+E+F = 60+20+50+40+40+70+120 = 400K

7. Odrediti kako će (a) First fit, (b) Best fit i (c) Worst fit algoritmi za dodjelu memorije dodijeliti
memorijske particije od 100K, 500K, 200K, 300K i 600K (navedene redom kojim se nalaze na
sistemu) procesima koji zahtijevaju 212K, 417K, 112K i 426K memorije.
d. Koji algoritam obezbjeđuje najefikasnije iskorištenje memorije?

(a) First fit:


212K se smešta u particiju veličine 500K, pri čemu ostaje prazna particija veličine 500K-
212K=288K. Poslije dodjele, sljedeće particije su prazne (redom): 100K, 288K, 200K, 300K,
600K. Algoritam je obavio dva poređenja.
417K se smešta u particiju veličine 600K, pri čemu ostaje prazna particija veličine 600K-
417K=183K. Poslije dodjele, sljedeće particije su prazne (redom): 100K, 288K, 200K, 300K,
183K. Algoritam je obavio 5 poređenja.
112K se smješta u particiju veličine 288K, pri čemu ostaje prazna particija veličine 288K-
112K=176K. Poslije dodele, sljedeće particije su prazne (redom): 100K, 176K, 200K, 300K,
183K. Algoritam je obavio dva poređenja.
Procesu koji zahtijeva 426K ne može se dodeliti memorija zbog eksterne fragmentacije (u
memoriji postoji dovoljno slobodnog prostora, ali ne postoji dovoljno veliki adresni blok –
slobodan prostor nije kontinualan). Algoritam je obavio 5 poređenja.
Proces koji zahtijeva 426K ne može odmah da se izvrši i mora da sačeka da neki drugi proces
oslobodi memoriju. Obavljeno je ukupno 14 poređenja između veličine memorije koju proces
zahtijeva i slobodnih particija.
(b) Best fit:
212K se smješta u particiju veličine 300K, pri čemu ostaje prazna particija veličine 300K-
212K=88K. Poslije dodjele, sljedeće particije su prazne (redom): 100K, 500K, 200K, 88K,
600K. Algoritam je obavio 5 poređenja.
417K se smješta u particiju veličine 500K, pri čemu ostaje prazna particija veličine 500K-
417K=83K. Poslije dodjele, sljedeće particije su prazne (redom): 100K, 83K, 200K, 88K, 600K.
Algoritam je obavio 5 poređenja.
112K se smešta u particiju veličine 200K, pri čemu ostaje prazna particija veličine 200K-
112K= 88K. Poslije dodjele, sljedeće particije su prazne (redom): 100K, 83K, 88K, 88K, 600K.
Algoritam je obavio 5 poređenja.
426K se smješta u particiju veličine 600K, pri čemu ostaje prazna particija veličine 600K-
426K= 174K. Poslije dodjele, sljedeće particije su prazne (redom): 100K, 83K, 88K, 88K, 174K.
Algoritam je obavio 5 poređenja.
Svaki proces dobija zahtijevanu memoriju. Obavljeno je ukupno 20 poređenja između veličine
memorije koju proces zahtijeva i slobodnih particija.
(c) Worst fit
212K se smješta u particiju veličine 600K, pri čemu ostaje prazna particija veličine 600K-
212K=388K. Poslije dodjele, sljedeće particije su prazne (redom): 100K, 500K, 200K, 300K,
388K. Algoritam je obavio 5 poređenja.
417K se smešta u particiju veličine 500K, pri čemu ostaje prazna particija veličine 500K-
417K=83K. Poslije dodjele, sljedeće particije su prazne (redom): 100K, 83K, 200K, 300K,
388K. Algoritam je obavio 5 poređenja.
112K se smešta u particiju veličine 388K, pri čemu ostaje prazna particija veličine 388K-
112K=276K. Poslije dodjele, sljedeće particije su prazne (redom): 100K, 83K, 200K, 300K,
276K. Algoritam je obavio 5 poređenja.
Procesu koji zahtijeva 426K ne može se dodijeliti memorija zbog eksterne fragmentacije.
Algoritam je obavio 5 poređenja. Ovdje je znatno izražena interna fragmentacija (proces
zauzima dio šupljine, ali ostali dio ne može da se koristi dok ga postojeći proces ne oslobodi).
Proces koji zahtijeva 426K ne može odmah da se izvrši i mora da sačeka da neki drugi proces
oslobodi memoriju. Obavljeno je ukupno 20 poređenja između veličine memorije koju proces
zahtjeva i slobodnih particija.

(d) U ovom slučaju Best fit algoritam obezbjeđuje najbolje iskorištenje memorije.

8. Data je tabela stranica jednog procesa na sitemu sistemu sa veličinom stranice 2KB.
Stranica Okvir
0 1
1 4
2 3
3 7
4 12
Koje fizičke adrese odgovaraju sljedećim logičkim adresama: (a) 251, (b) 3129, (c) 10000,
(d) 6066 ?
broj stranice = cijeli broj količnika logičke adrese i veličine stranice
ofset = ostatak pri dijeljenju logičke adrese i veličine stranice
(a) Logička adresa 251
broj stranice=[251/2048]=0 => okvir=1, ofset=251%2048=251,
fizička adresa = 1x2048+251=2299
(b) Logička adresa 3129
broj stranice=[3129/2048]=1 => okvir=4, ofset=3129%2048=1083,
fizička adresa = 4x2048+1083=9275
(c) Logička adresa 10000
broj stranice=[10000/2048]=4 => okvir=12, ofset=10000%2048=1808,
fizička adresa = 12x2048+1808=26384
(d) Logička adresa 6066
broj stranice=[6066/2048]=2 => okvir=3, ofset=6066%2048=1970,
fizička adresa = 3x2048+1970=8114

9. Data je sljedeća tabela segmenata:

Koje fizičke adrese odgovaraju sljedećim logičkim adresama: (a) 0, 430, (b) 1, 10, (c) 2, 500,
(d) 3, 400, (e) 4, 112?

(a) 219 + 430 = 649


(b) 2300 + 10 = 2310
(c) ilegalna referenca (premašena vrijednost limit registra)
(d) 1327 + 400 = 1727
(e) ilegalna referenca (premašena vrijednost limit registra)

Virtuelna memorija

10. Posmatrajte sistem virtuelne memorije sa n okvira koji su u početnom trenutku prazni. Dat
je sljedeći niz od 20 uzastopnih memorijskih referenci u vremenu: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3,
7, 6, 3, 2, 1, 2, 3, 6. Skicirajte stanje u okvirima i odredite koliko će se PF prekida dogoditi ukoliko
se zamjena stranica obavlja po: LRU, FIFO i optimalnom algoritmu, za sljedeće slučajeve: (a) n=2,
(b) n=3.
(a) n=2

(b) n=3

You might also like