next up previous
Next: Przykład funkcja write_some_buffers Up: Obsługa nagłówków wolnych buforów Previous: Obsługa nagłówków wolnych buforów

Nagłówek bufora

Zawiera informacje o danych(b_data), stronie do której jest zamapowany(d_page), czas kiedy powinien być zapisany, oraz gdzie ma być zapisany (b_dev, b_blocknr, b_size).

Status bufora (flagi bitowe):

Bufory są umieszczone w tablicach rozproszonych z liniwyn rostżyganiem kolizji. Kluczem słownika jest urządzenie i blok.

Drugą strukturą w której znajdują się bufory są kolejki lru. Na kolejkach wykonuje się dwie podstawowe operacje:

Implementacją są listy dwukierunkowe z wartownikiem (jak wszędzie w kernel'u) przez co operacje te wykonywane są w czasie stałym. Jak widać na początku karzdej kolejki będą znajdować się bufory będące tam najdłużej. Listy są trzy:

BUF_CLEAN
- bufory czyste (zgodne z dyskiem)
BUF_LOCKED
- bufory w trakcie transmisji.
BUF_DIRTY
- bufory nie zsynchronizowane z dyskiem.


next up previous
Next: Przykład funkcja write_some_buffers Up: Obsługa nagłówków wolnych buforów Previous: Obsługa nagłówków wolnych buforów
admin 2001-12-18