Algorytm wyboru strony do usunięcia (cd.)
Usuwanie prywatnych stron procesów ( funkcja swap_out )
Najpierw przeszukiwana jest tablica procesów, w celu znalezienia procesu posiadającego ustawiony atrybut swappable i zajmującego jakieś ramki w pamięci głównej (pole mm->rssɬ).
Przeszukiwana jest większa lub mniejsza część tablicy procesów, w zależności od priorytetu, jaki został przydzielony całej operacji. Ten priorytet wzrasta, gdy poprzednia próba zwolnienia ramki zakończyła się niepowodzeniem i zmniejsza się w przeciwnym wypadku. Jest on też zwiększany, gdy liczba wolnych ramek w systemie spada poniżej wartości min_free_pages.
Po znalezieniu odpowiedniego procesu, ustalana jest liczba ramek, jakie będą mu odbierane (standardowo maksimum z 4 i 1/32 zajmowanych ramek). Za jednym razem będzie usuwana tylko jedna strona, ale ustalona wartość będzie zapamiętana i wykorzystana przy przyszłych próbach zwalniania pamięci.