next up previous contents
Next: Montowanie głównego systemu plików Up: OBSŁUGA PLIKÓW SPECJALNYCH Previous: Pobieranie i-węzła z dysku   Spis rzeczy

Tworzenie pliku specjalnego - funkcja sys_mknod()

fs/namei.c
    long sys_mknod(const char * filename, int mode, dev_t dev)
Funkcja sys_mknod() stanowi realizację funkcji systemowej mknod(), a więc przyjmuje takie same parametry: Aby utworzyć plik urządzenia znakowego parametr mode powinien mieć ustawiony bit S_IFCHR, podobnie przy tworzeniu pliku blokowego trzeba ustawić bit S_IFBLK. Przy tworzeniu plików specjalnych funkcja ta posiłkuje się funkcją vfs_mknod(), a ta z kolei wywołuje operację mknod, której adres uzyskuje z obiektu i-węzła związanego z katalogiem, w którym chcemy utworzyć dany plik. Widać więc, że to w jaki sposób plik zostanie utworzony, zależy od zbioru operacji związanych z obiektem i-węzła katalogu, a co za tym idzie od systemu plików w jakim się ten katalog znajduje. To tłumaczy dlaczego nie powiodło się utworzenie pliku urządzenia w systemie plików vfat w jednym z powyższych przykładów.


next up previous contents
Next: Montowanie głównego systemu plików Up: OBSŁUGA PLIKÓW SPECJALNYCH Previous: Pobieranie i-węzła z dysku   Spis rzeczy
Marcin Czępiński 2001-12-19