Fizycznie pliki reprezentowane są przez i-węzły:
[h]
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]