next up previous contents
Next: Listy active_list, inactive_dirty_list oraz Up: Pamięć w systemie Linux Previous: Wstęp   Spis tresci

Algorytm postarzania stron

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 up previous contents
Next: Listy active_list, inactive_dirty_list oraz Up: Pamięć w systemie Linux Previous: Wstęp   Spis tresci
Łukasz Heldt 2001-12-18