Opis dodawania stron do bufora stron

Ponieważ w funkcjach wstawiających stronę do bufora stron nie ma specjalnych rewelacji, to ograniczę się do opisu algorytmu dodawania nowej strony. Ciekawskich odsyłam do pliku filemap.c. W szczególności warto zajrzeć do funkcji:
page_cache_read - wczytanie strony do bufora
add_page_to_hash_queue - dodanie strony do kubełka
add_page_to_inode_queue - dodanie strony do przestrzeni adresowej pliku
Wszystkie inne funkcje dodające stronę do bufora, służą do obsłużenia różnych przypadków ustawienia flag i ochrony, ale zasadniczo do wykonania właściwej roboty korzystają z trzech powyższych funkcji.

Ogólnie rzecz biorąc, strona jest dodawana do bufora stron zawsze, gdy funkcja obsługująca wyjątek braku strony (ang. page fault), nie znajdzie tej strony w buforze stron. Bez zagłębiania się w szczegóły techniczne, można powiedzieć, że dodawanie strony do bufora wygląda tak:
-- tworzona jest nowa ramka, do której wczytywane są dane z pliku.
-- ramka ta dołączana jest do odpowiedniego kubełka tablicy mieszającej.
-- ponadto wstawia się tę ramkę do listy ,,czystych'' stron związanej z przestrzenią adresową danego pliku.


Tomasz Szymko 25 listopada 2001