Tablica stron pamięci

Tablica stron pamięci, tablica stron (ang. page table) – struktura danych używana przez mechanizmy wirtualizacji pamięci (zazwyczaj układ MMU) do przechowywania sposobu odwzorowania adresów pamięci wirtualnej w adresy pamięci fizycznej[1][2].

Dane tablicy stron

Tablica stron przechowuje wpisy.

Wpis tablicy stron

Wpis tablicy stron (ang. page table entry) lub PTE przechowuje odwzorowanie pomiędzy wirtualnym a fizycznym numerem strony. Przechowywane są również dodatkowe informacje, takie jak bit dostępności (ang. present bit), bit modyfikacji (ang. dirty bit) i inne.

Bit dostępności świadczy o tym, które strony są dostępne w pamięci operacyjnej, a które system będzie musiał załadować.

Bit zmodyfikowania pomaga optymalizować instrukcje korzystające z danej strony pamięci. Strona na dysku, która zostanie kolejno załadowana do pamięci, odczytana, a następnie zwolniona z pamięci nie musi nadpisywać niczego na dysku, ponieważ jej zawartość nie uległa zmianie. Jeśli natomiast ramka zostanie nadpisana, bit zmodyfikowania zostanie zapalony i przy zwalnianiu ramki z pamięci strona zostanie zapisana na dysk.

W systemach operacyjnych obsługujących wiele przestrzeni adresowych, konieczna jest izolacja pamięci – dwa procesy mogą korzystać z tego samego adresu wirtualnego do różnych celów. We współczesnych architekturach (np. x86) rozwiązuje się to poprzez przydzielenie każdemu procesowi osobnej tablicy stron. Adres do początku tablicy dla aktualnie wykonywanego procesu jest przechowywany w rejestrze kontrolnym procesora (np. CR3).[3] Innym podejściem są tzw. odwrócone tablice stron – w ich przypadku istnieje tylko jedna struktura dla całej pamięci, dlatego każdy wpis musi dodatkowo przechowywać identyfikator procesu, do którego należy dana strona.

Zobacz też

Przypisy

  1. ↑ Jan Duda: Wykład 7. Zarządzanie pamięcią. Pamięć wirtualna.. Państwowa Wyższa Szkoła Zawodowa im. Witelona w Legnicy, 2019-11-13. s. 6. [dostęp 2020-12-16].
  2. ↑ Virtual Memory. (ang.).
  3. ↑ Randal E. Bryant, David R. O'Hallaron: Computer Systems: A Programmer's Perspective. Wyd. 3. Pearson, 2015, s. 838-842,851,854. ISBN 978-0134092669.