next up previous contents
Next: Wirtualny system plików urządzeń: Up: OBSŁUGA PLIKÓW SPECJALNYCH Previous: Tworzenie pliku specjalnego -   Spis rzeczy

Montowanie głównego systemu plików

Jest jeszcze jedna rzecz, która moim zdaniem zasługuje na uwagę; mianowicie montowanie głównego systemu plików, które stanowi kluczową część inicjacji systemu. Jądro musi za wczasu wiedzieć, które urządzenie zawiera główny system plików, a dokładniej musi w zmiennej ROOT_DEV umieścić numer tego urządzenia. Jednym ze sposobów powiadomienia jądra o urządzeniu jest dostarczenie mu odpowiedniego parametru przez program ładujący (np. LILO). Parametr taki jest ciągiem znaków i wygląda np. tak:

    root=/dev/hdb4
Jądro musi z tego wywnioskować, jaki numer ma urządzenie /dev/hdb4. I tu okazuje się, że ta nazwa wcale nie jest rozpoznawana przez jądro jako nazwa pliku specjalnego utworzonego przez mknod - to jest po prostu ciąg znaków, rozpoznawany dzięki tablicy root_dev_names, zdefiniowanej i widocznej tylko w pliku init/main.c, która zawiera pary (w postaci struktur) składające się z nazw najważniejszych urządzeń i odpowiadających im numerów. Dzięki temu w funkcji root_dev_setup() możliwe jest nadanie zmiennej ROOT_DEV odpowiedniej wartości.



Marcin Czępiński 2001-12-19