next up previous contents
Next: URZĄDZENIA BLOKOWE: blkdevs Up: TABLICE ROZDZIELCZE Previous: TABLICE ROZDZIELCZE   Spis rzeczy

Do czego służą tablice rozdzielcze

Wiemy już, że urządzenia w systemie Linux są reprezentowane przez pliki specjalne. Wiemy też, że na tych plikach można wykonywać standardowe operacje plikowe oraz że wskaźnik do zestawu takich operacji jest umieszczony w polu i_fop i-węzła. Dla plików specjalnych są to standardowe operacje dla urządzeń blokowych (def_blk_fops) albo dla urządzeń znakowych (def_chr_fops)

Te standardowe operacje nie wykonują jednak same pracy którą im zlecono (otwieranie, czytanie, pisanie do pliku) ale "patrząa numer główny urządzenia związanego z plikiem i wywołują odpowiednią funkcję zaimplementowaną specjalnie dla urządzeń o tym numerze.

Aby łatwiej było zarządzać zestawami operacji obsługujących urządzenia o konkretnych numerach głównych, zestawy te są umieszczane w tablicach rozdzielczych. W takiej tablicy wskaźnik do zestawu operacji obsługujących urządzenie o numerze głównym M jest umieszczony właśnie w komórce o numerze M. Istnieją dwie tablice rozdzielcze:

Poniższe ilustracja (rys.3 i rys.4) przedstawiają tablice rozdzielcze dla urządzeń blokowych i znakowych z uszczególnieniem wybranych, przykładowych pozycji. Zbiór operacji obsługi związany z pozycją pierwszą tablicy chrdevs obsługuje bardzo różnorodne urządzenia co jest dodatkowo zaznaczone na rysunku nr 4.

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

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


next up previous contents
Next: URZĄDZENIA BLOKOWE: blkdevs Up: TABLICE ROZDZIELCZE Previous: TABLICE ROZDZIELCZE   Spis rzeczy
Marcin Czępiński 2001-12-19