Ostranjevanje

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje

Pri operacijskih sistemih je ostranjevanje (tudi delitev na strani) način upravljanja s pomnilnikom. Programska koda in podatki so razrezani na krajše odseke enake velikosti, ki se posamično nalagajo v pomnilnik. Le-ta je razdeljen na enako velike enote - okvirje (angl. frame), ki so enake velikosti kot strani. Vsak okvir vsebuje po eno stran. V primeru da so vsi okvirji zasedeni, mora operacijski sistem poskrbeti za sprostitev enega izmed okvirjev. Stran, ki se trenutno nahaja v žrtvenem okvirju, operacijski sistem začasno odloži na sekundarni pomnilnik (disk) in v sproščen okvir naloži relevantno stran. Operacijski sistem izbira okvirje za zamenjavo strani s pomočjo različnih algoritmov.

Operacijski sistem upravlja z tabelo okvirov (angl. frame table), ki pove katere strani so v posameznih okvirjih in katerim procesom pripadajo.

Algoritmi za zamenjavo strani[uredi | uredi kodo]

Ko proces zahteva stran, ki je še ni v pomnilniku, pride do napake strani (angl. page fault). Stran, ki se potrebuje je potrebno naložiti v enega izmed okvirjev. Pri tem moramo izbrati ciljni okvir s pomočjo algoritmov zamenjave strani. Le-ta mora povzročati čim manj napak strani (zamenjav).

FIFO (First-In-First-Out)[uredi | uredi kodo]

Gre za algoritem ki zamenja stran v pomnilniku, ki je najdlje prisotna.

LRU (Least Recently Used)[uredi | uredi kodo]

Zamenja stran, ki že najdalje časa ni bila v uporabi.

Števni algoritmi[uredi | uredi kodo]

Temeljijo na štetju dostopov strani. Le-to omogoča zamenjevanje strani, ki je najmanjkrat uporabljena (angl. LRU - Least Frequently Used) ali pa tiste, ki je bila največkrat uporabljena (angl. MRU - Most Frequently Used).

Algoritem z zamikom[uredi | uredi kodo]

Algoritem še ene možnosti (second-chance algorithm)[uredi | uredi kodo]