Struktura podręcznej pamięci buforowej stron

W Linuxie bufor stron jest strukturą inicjalizowaną i utrzymywaną przez jądro systemu. Bufor ten jest zbiorem ramek trzymanych w listach, do których dowiązania pamiętane są w tablicy mieszającej (ang. hash table) page_hash_table. W systemie, bufor stron jest początkowo pusty, a potem rozrasta się w miarę potrzeb, dopóki nie zabraknie pamięci. Gdy skończy się pamięć, wówczas uruchamiany jest mechanizm czyszczenia pamięci, który prawie zawsze zaczyna zwalnianie pamięci od redukcji podręcznej pamięci buforowej stron. Reasumując, w systemie jest tylko jeden bufor stron i nie ma limitu górnego na ilość buforowanych stron.

Rysunek: Struktura podręcznej pamięci stron.

Aby szybko stwierdzić czy dana strona4, jest już buforowana, bufor stron został zaimplementowany jako tablica mieszająca z rozwiązywaniem kolizji metodą łańcuchową. Tablica mieszająca ma rozmiar zależny od rozmiaru pamięci operacyjnej komputera, a pamiętane są w niej wskaźniki na listy ramek wchodzących w skład bufora. Dalej taką pojedyńczą listę ramek będę nazywał ,,kubełkiem'' tablicy mieszjącej.


Tomasz Szymko 25 listopada 2001