Next: free_area_struct
Up: Ważniejsze struktury
Previous: Ważniejsze struktury
Jest to z naszego punktu widzenia podstawowa struktura, przechowywane są w
niej informacje o ramkach.
Oto jak ona się prezentuje
Znaczenie :
- list3 - lista zmapowaych do i-węzła ramek lub wolnych ramek
tworzących spójny blok pamięci
- mapping - i-węzeł, do którego należymy
- index - przesunięcie (offest)
- next_hash - wskaźnik do następnej ramki o tej samej wartości haszującej. Aby
przyspieszyć wyszukiwanie ramek Linux używa funkcji haszującej
page_hash().
- count - atomowy licznik mówiący ile procesów, buforów jest związanych z ramką
- flags - flagi
- lru - lista ułatwiająca wybór mniej używanych ramek
- age - określa wiek ramki
- wait - kolejka procesów czekających na operacje wejścia wyjścia
- pprev_hash - adekwatne do next_hash
- virtual - wirtualny adres jądra
- zone - strefa pamięci, do której należy ramka
Większość z tych pól używana jest tylko gdy ramka jest zmapowana. (Jeżeli
nie jest zmapowana te pola mają wartość NULL lub 0).
Ciekawsze flagi:
- PG_lock (0) - blokada podczas operacji wejścia wyjścia
- PG_referenced (2) - bit pomocny przy wyborze ramki do przeniesienia na
dysk. Jest ustawiony za każdym razem, gdy następuje odwołanie do ramki z tablicy
haszującej. Ten bit wraz z bitem o podobnym znaczeniu w tablicy stron służy do
ustalenia wieku strony, czy strona jest active czy inactive
- PG_reserved (31) - ustawiona dla ramek, które nie mogą być zeswapowane
Next: free_area_struct
Up: Ważniejsze struktury
Previous: Ważniejsze struktury
Kuba Gorski
2001-12-12