Algorytm wyboru strony do usunięcia (cd.)
Funkcja try_to_free_page - ma za zadanie zwolnić dokładnie 1 ramkę strony w pamięci głównej. Wywoływana z parametrem wait, równym 0 albo 1 (wówczas funkcja jest bardziej uparta).
Są 3 metody zwalniania ramek pamięci głównej wywoływane przez try_to_free_page :
przez usuwanie prywatnych stron procesów (funkcja swap_out)
stron pamięci dzielonej (shm_swap)
stron będących obrazami plików dyskowych (shrink_mmap).
shm_swap - działa jak shm_out (opisana dalej), z tą różnicą, że przeszukuje inną strukturę ( nie tablicę procesów lecz shm_segs )
shrink_mmap - proste działanie, sprawdza tylko, czy strona nie jest używana bądź zablokowana i usuwa (nie swapuje, bo strona jest obrazem pliku dyskowego, więc jej kopia jest już na dysku)