2.3.1 Virtuaalmälu

Arvuti põhimälu maht on piiratud ja kui OS peab kasutama kõigi rakenduste käivitamiseks ainult põhimälu siis on piiratud ka OS'i võimalused erinevaid rakendusi laadida või pakkuda kasutajatele nende rakenduste täisfunktsionaalsust. Virtuaalmälu idee on tekitada lineaarne aadressiruum mis laiendab põhimälu kasutades massmäluseadmeid ja niimoodi võimaldades igal protsessil saada enda kasutusse suur privaatne aadressiruum. Virtuaalne mälu on mälu loogiline esitus ja ei vasta mälulehekülgede füüsilisele paiknemisele. Kuna protsessid kasutavad süsteemis enamasti oluliselt vähem füüsilist mälu kui on neil kasutada virtuaalset aadressiruumi siis mäluhaldur saalib osa mälulehekülgi massmäluseadmele.Lehekülgede saalimisel jagatakse nii füüsiline kui virtuaalmälu fikseeritud suurusega osadeks, mida nimetatakse lehekülgedeks (Page). x86 protsessor jagab füüsilise aadressiruumi 4kB lehekülgedeks, kasutades mäluhaldusmoodulit MMU (Memory Management Unit). Kui protsessi täidetakse, siis on füüsilisse mällu laetud ainult kasutuses olevad leheküljed ehk mäluplokid ja ülejäänud lehekülgi hoitakse massmäluseadmel.
Joonis 2‑9. Virtuaalmälu kasutab protsessile mälu eraldamisel nii põhimälu kui massmälu (Allikas: Learning Materials for Information Technology Professionals (EUCIP-Mat))
Kui protsess pöördub virtuaalse aadressi poole, mis on saalitud massmäluseadmele, siis virtuaalmälu haldur laeb vajaliku lehekülje põhimällu. Rakendused ei pea arvestama lehekülgede saalimisega, kuna riistvara tugi võimaldab mäluhalduril saalida lehekülgi ilma, et protsessid sellest teadlikud oleksid. Virtuaalmälu aadressiruum erineb sõltuvalt riistavara platvormist. 32-bitise x86 süsteemi totaalne virtuaalne aadressiruum on teoreetiliselt 4GB.