Jak pliki w '/ dev' pasują do modelu Linuksa urządzenia? [Zamknięte]

Oto moje zrozumienie w otwieraniu pliku do czytania / pisania.

W warstwie aplikacji mogę wywołaćfopen() funkcjonować.

Thefwrite() funkcja wywoła wywołanie systemoweopen().

Po otrzymaniu systemu operacyjnegoopen() wywołanie, przekaże polecenie do VFS (wirtualny system plików).

VFS wyszukuje nazwę pliku, w tym wszystkie potrzebne katalogi i wykonuje niezbędne kontrole dostępu.

Jeśli jest to pamięć podręczna RAM, nie jest potrzebny dostęp do dysku. Jeśli nie, VFS wysyła żądanie odczytu do określonego systemu plików, który prawdopodobnie jest EXT4.

Następnie sterownik systemu plików EXT4 określi w jakim bloku blokowym znajduje się ten katalog. Następnie wyśle ​​polecenie odczytu do sterownika urządzenia dyskowego.

Powiedzmy teraz, że chcę przeczytaćurządzenie i2c A dołączony do tablicy. A katalog plików to/ dev / i2c / A

Czy istnieje ważny numer dla wszystkich urządzeń? Na przykład Linux OS ustawia 180 jako główny numer dla USB. Więc po stronie urządzenia, czy na każdym urządzeniu USB jest większa liczba 180?

Jeśli odpowiedź na pierwsze pytanie brzmi NIE, to w jaki sposób system operacyjny Linux może określić typurządzenie A czy jest to zgodne z katalogiem plików?

Myślę, że odpowiedź na drugie pytanie może być: na etapie inicjowania rozruchu istnieją pewne kody, które już zamontowały ten port w systemie plików, używając czegoś takiego jak export ()? W rzeczywistości, tuż po etapie uruchamiania, katalog plików/ dev / i2c / A istnieje tam i jest powiązany z głównym numerem dla urządzeń i2c. Więc kiedy chcę otworzyć dev / i2c / A, OS znajdzie dla mnie odpowiedni sterownik i2c, nie SPI lub sterownik USB. Nie jestem pewien co do tej części, potrzebuję więcej informacji na ten temat.

Powyższa sytuacja ma miejsce, gdy urządzenie jest podłączone do systemu plików zaraz po etapie uruchamiania. więc co się stało, jeśli mam usb, w jaki sposób ten usb może być podłączony do systemu plików z prawą liczbą główną 180 po podłączeniu? I myślę, że jest irq, gdy usb jest podłączony przed rozpoczęciem etapu montażu?

questionAnswers(2)

yourAnswerToTheQuestion