Sideerstatning er en minnebehandlingsteknikk som erstatter minnesider fra RAM for å gjøre plass til nye sider. Når en prosess trenger å få tilgang til en side som ikke er i RAM, velger operativsystemet en side som skal erstattes og skriver innholdet til disken. Den erstattede siden fjernes deretter fra RAM og den nye siden lastes inn i RAM.
Sideerstatning er nødvendig fordi fysisk minne er en begrenset ressurs og ikke kan inneholde alle sidene som en prosess kan trenge å få tilgang til samtidig. Derfor må operativsystemet bestemme hvilke sider som skal beholdes i RAM og hvilke sider som skal erstattes når det trengs nye sider.
Målet med sideerstatning er å minimere antall sidefeil, som oppstår når en prosess får tilgang til en side som ikke er i RAM. Sidefeil kan bremse en prosess fordi operativsystemet må ta seg tid til å lese siden fra disken før den kan nås.
Det finnes en rekke forskjellige sideerstatningsalgoritmer, hver med sine egne fordeler og ulemper. Noen av de vanligste sideerstatningsalgoritmene inkluderer:
* Først inn, først ut (FIFO) :Denne algoritmen erstatter den eldste siden i RAM når en ny side er nødvendig.
* Minst nylig brukt (LRU) :Denne algoritmen erstatter siden som ikke har vært brukt i den lengste perioden når en ny side er nødvendig.
* Optimal sideerstatning :Denne algoritmen erstatter alltid siden som ikke skal brukes i den lengste tidsperioden i fremtiden.
Den optimale sideerstatningsalgoritmen er ikke praktisk å implementere fordi den krever kunnskap om fremtiden. Imidlertid er LRU-algoritmen en god tilnærming til den optimale algoritmen og er mye brukt i operativsystemer.