La memoria virtual permite a los procesos acceder a más memoria de la físicamente disponible mediante paginación o segmentación. Con paginación, la memoria se divide en páginas marco y cada proceso tiene una tabla de páginas. Con segmentación, cada proceso divide su código y datos en segmentos de tamaños variables. Los sistemas modernos suelen usar ambos métodos combinados.