Next: Listy active_list, inactive_dirty_list oraz
Up: Pamięć w systemie Linux
Previous: Wstęp
  Spis tresci
Jeżeli mówimy o przenoszeniu stron na dysk fizyczny, nasuwa się naturalne
pytanie, które strony będziemy wyrzucać z pamięci. Oczywiście najlepiej byłoby
prznosić te, które wiemy, że nie będą wykorzystywane przez najbliższy okres
czasu, ale ta wiedza jest w praktycznych rozwiązaniach prawie nieosiągalna.
Dlatego stosuje się algorytmy wspomagające wybór odpowiednich stron.
W systemie
Linux został zastosowany algorytm LRU (Least Recently Used).
Co pewien czas (dokładniej co sekundę) jeżeli strona nie była używana jej wiek
jest zmniejszany o połowę, w przeciwnym przypadku zwiększa się go o 3.
Startowy wiek strony (PAGE_AGE_START) w Linux-ie ustawiony jest na 2, natomiast
maksymalny wiek to 64 (PAGE_AGE_MAX).
Jeżeli wiek strony spadnie do zera, to strona zostaje wysłana na urządzenie
swappujące (najczęściej odpowiednia partycja na dysku twardym), a pamięć którą
zajmowała zostaje zwolniona.
To jest jednak bardzo ogólny schemat działania algorytmu postarzania stron.
Od razu widać, że nie ma potrzeby wyrzucania stron z pamięci, jeżeli np.
żadnemu procesowi tej pamięci nie brakuje. Dlatego teraz zajmiemy się
dokładniejszą analizą działania tego algorytmu w Linux-ie.
Subsections
Next: Listy active_list, inactive_dirty_list oraz
Up: Pamięć w systemie Linux
Previous: Wstęp
  Spis tresci
Łukasz Heldt
2001-12-18