next up previous contents
Next: Pobieranie i-węzła z dysku Up: OBSŁUGA PLIKÓW SPECJALNYCH Previous: Pliki specjalne nie tylko   Spis rzeczy

Reprezentacja fizyczna

Fizycznie pliki reprezentowane są przez i-węzły:

[h] \includegraphics{img/i_fops.eps}

Na rysunku przedstawiony jest i-węzeł z wyszczególnionymi polami, które są wykorzystywane jeśli i-węzeł odnosi się do pliku urządzenia. Są to:

i_rdev przechowuje numer urządzenia do jakiego odnosi się plik. Jest to pole typu kdev_t co oznacza, że przechowuje informacje jednocześnie o tym jaki jest numer główny oraz jaki jest numer podrzędny urządzenia. Zatem pole to jednoznacznie identyfikuje urządzenie.

i_fop w polu tym przechowywany jest wskaźnik do struktury ze standardowymi operacjami obsługi (typu struct file_operations*. Wskaźnik ten może wskazywać jeden z dwóch standardowych zestawów operacji:

Tylko jedno z pól: i_cdev i i_bdev może być wykorzystywane w danym i-węźle. Jeśli struktura i-węzła odnosi się do pliku urządzenia znakowego to używane będzie pole i_cdev i będzie ono wskazywać strukturę opisującą urządzenie (typu struct char_device). Analogicznie dla plików urządzeń blokowych (w tym przypadku pole i_bdev wskazuje na strukturę typu block_device).

Ilustracja rys 2 przedstawia i-węzeł dla pliku urządzenia blokowego. W tym przypadku pole i_fop wskazuje na zestaw standardowych operacji dla plików urządzeń blokowych. Na rysunku można też zobaczyć nazwy rzeczywiście zaimplementowanych funkcji dla urządzeń blokowych.

[h] \includegraphics{img/i_fopsblk.eps}


next up previous contents
Next: Pobieranie i-węzła z dysku Up: OBSŁUGA PLIKÓW SPECJALNYCH Previous: Pliki specjalne nie tylko   Spis rzeczy
Marcin Czępiński 2001-12-19