Leksykon IT › Infrastruktura › Pamięć wirtualna

Pamięć wirtualna

Infrastruktura Svenska → Zaktualizowano: 2026-10-07

Złudzenie, że każdy proces ma całą pamięć dla siebie, zaczynającą się od adresu zero.

Adresy, których używa program, są zmyślone. MMU tłumaczy je na adresy fizyczne przy każdym dostępie, korzystając z osobnej tablicy translacji dla każdego procesu. Dwa programy mogą używać dokładnie tego samego adresu i nigdy nie zobaczyć swoich danych.

Z tego projektu wynikają trzy rzeczy. Izolacja: program nie może dosięgnąć cudzej pamięci, bo żadna translacja tam nie prowadzi. Prostota: kompilator nie musi wiedzieć, gdzie w pamięci fizycznej wyląduje program, i może za każdym razem umieścić kod pod tym samym adresem. Oraz overcommit: przestrzeń adresowa może być znacznie większa niż ilość RAM-u, a reszta leży na dysku albo w ogóle nie jest przydzielona, dopóki jej nikt nie dotknie. Na tym opiera się też ASLR — układ pamięci jest losowany przy każdym uruchomieniu, co utrudnia ataki.

← Wróć do leksykonu