Systemy korzystające z tej techniki ułatwiają tworzenie rozbudowanych aplikacji oraz poprawiają wykorzystanie fizycznej pamięci RAM. Często popełnianym błędem jest utożsamianie pamięci wirtualnej z wykorzystaniem pamięci masowej do rozszerzenia dostępnej pamięci operacyjnej. Rozszerzenie pamięci na dyski twarde w rzeczywistości jest tylko naturalną konsekwencją zastosowania techniki pamięci wirtualnej, lecz może być osiągnięte także na inne sposoby, np. nakładki lub całkowite przenoszenie pamięci procesów na dysk, gdy znajdują się w stanie uśpienia. Pamięć wirtualna działa na zasadzie przedefiniowania adresów pamięci tak, aby "oszukać" procesy i dać im wrażenie pracy w ciągłej przestrzeni adresowej.
Obecnie wszystkie systemy operacyjne ogólnego przeznaczenia wykorzystują techniki pamięci wirtualnej dla procesów uruchamianych w ich obrębie. Wcześniejsze systemy takie, jak DOS, wydania Microsoft Windows[1] z lat 80. oraz oprogramowanie komputerów mainframe z lat 60. nie pozwalały pracować w środowisku z pamięcią wirtualną. Godnymi odnotowania wyjątkami były komputery Atlas, B5000 oraz Apple Lisa.
Pamięć wirtualna wymaga wykonania pewnych dodatkowych nakładów pracy przy próbie odczytu lub zapisu, dlatego systemy wbudowane lub szczególnego przeznaczenia, gdzie czas dostępu jest czynnikiem krytycznym i musi być przewidywalny, często z niej rezygnują za cenę zmniejszonego determinizmu.
Stronicowana pamięć wirtualna
Prawie wszystkie istniejące obecnie implementacje dzielą wirtualną przestrzeń adresową procesu na strony. Strona jest to obszar ciągłej pamięci o stałym rozmiarze, zazwyczaj 4 KB. Systemy, gdzie zapotrzebowanie na wielkość wirtualnej przestrzeni adresowej jest większe lub dysponujące większymi zasobami pamięci operacyjnej mogą używać stron o większym rozmiarze. Rzeczywista pamięć operacyjna podzielona jest na ramki, których rozmiar odpowiada wielkości stron. System operacyjny według uznania może przydzielać ramkom strony pamięci lub pozostawiać je puste.