Operativni Sistemi - Univerzitet u Novom Sadu
Operativni Sistemi - Univerzitet u Novom Sadu
Operativni Sistemi - Univerzitet u Novom Sadu
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
6. LRU – okvir koji smo najdavnije koristili<br />
(Least Recently Used Page Replacement Algorithm)<br />
Biramo onu stranicu koju smo najdavnije koristili: stranice sa kojima smo radili u bliskoj<br />
prošlosti, verovatno ć e nam trebati i u bliskoj buduć nosti. Ovaj algoritam radi jako dobro, ali se teško<br />
ostvaruje. Implementacija zahteva podršku od strane hardvera. Imamo nekoliko realizacija:<br />
1. Pomoću brojača (hardverska podrš ka): procesor ima brojač instrukcija. Kada se rač unar<br />
startuje, brojač se resetuje na nulu. Nakon svake instrukcije poveć amo ga za jedan. Svaki<br />
okvir ima svoj interni brojač . Svaki put kada pristupimo okviru, prebacimo sadržaj brojač a<br />
procesora u interni brojač okvira. Kada dođe do page fault prekida, upravljač memorijom<br />
pregleda sve interne brojač e i bira stranicu č iji je brojač najmanji (to znač i da je korišć ena<br />
najdavnije). Nedostatak: pri svakom pristupu memorije moramo izvršiti plus jedan pristup radi<br />
prebacivanja sadržaja glavnog brojač a u lokalni.<br />
2. Pomoću povezane liste (softversko reš enje): slič no kao kod FIFO algoritma, stranice<br />
stavljamo u red opsluživanja. Kada se javlja page fault prekid, biramo prvu iz reda, novu<br />
stavljamo na kraj reda. Svaki put kada pristupimo nekoj stranici, ažuriramo listu: stranicu<br />
vadimo iz liste i prebacimo na kraj reda. Ova realizacija je jako spora: pri svakom pristupu<br />
memoriji moramo ažurirati listu.<br />
3. Pomoću dvodimenzionalnog niza (matrice – hardverska podrš ka): imamo matricu formata<br />
NxN, gde N označ ava broj okvira interne memorije. Matrica se inicializuje na nulu (nulamatrica).<br />
Prilikom pristupa k-tom okviru, k-tu vrstu matrice ispunimo sa jedinicama a k-tu<br />
kolonu sa nulama. Tada vrste označ avaju mladost odgovarajuć e stranice u binarnom zapisu<br />
(što je broj već i, stranica je korišć ena u bližoj prošlosti). Biramo stranicu sa najmanjim<br />
brojem.<br />
Primer: neka imamo 4 okvira, tada nam treba matrica formata 4x4, neka je redosled pristupa<br />
sledeć i : 1,1,2,3,1,4. Tada ć emo izbaciti drugu stranicu jer je ona najdavnije korišć ena.<br />
1 2 3 4 1 2 3 4 1 2 3 4<br />
1 0 1 1 1 0 1 1 1 0 0 1 1<br />
2 0 0 0 0 0 0 0 0 1 0 1 1<br />
3 0 0 0 0 0 0 0 0 0 0 0 0<br />
4 0 0 0 0 0 0 0 0 0 0 0 0<br />
1 2 3 4 1 2 3 4 1 2 3 4<br />
1 0 0 0 1 0 1 1 1 0 1 1 0<br />
2 1 0 0 1 0 0 0 1 0 0 0 0<br />
3 1 1 0 1 0 1 0 1 0 1 0 0<br />
4 0 0 0 0 0 0 0 0 1 1 1 0<br />
7. NFU – okvir koji najređ e koristimo<br />
(Not Frequently Used Page Replacement Algorithm)<br />
Biramo stranicu koja je najređe (najmanji broj puta) korišć ena. Oslanja se na R bit: svaki okvir<br />
ima svoj brojač i R bit. R bit označ ava da li smo pritupili datoj stranici u predhidnih 20ms. Inicijalna<br />
vrednost i brojač a i R bita je 0. Pri svakom prekidu hardverskog sata OS pogleda sve R-bitove, doda<br />
71