Wenn ein Gerät angeschlossen ist, woher weiß der Kernel, welcher Treiber geladen werden muss?
Ich denke, es basiert auf Haupt- und Nebennummern, aber ich habe nicht verstanden, wie die Hauptnummer erkannt wird, wenn das Gerät angeschlossen ist ... Wird die Hauptnummer von den Herstellern zugewiesen oder was?
Antwort1
Das Linux-Gerätemodell kümmert sich darum. Es beginnt, wenn Sie Ihr Gerät registrieren und ihm einen Namen zuordnen.
Sobald Sie Ihren Treiber registrieren, der den gleichen Namen wie das Gerät hat, erfolgt die Bindung zwischen dem Gerät und dem Treiber.
Betrachten Sie als Beispiel ein beliebiges Plattformgerät und einen beliebigen Plattformtreiber. Beide sind gebunden, wenn sie denselben Namen haben.
Was die Haupt- und Nebennummern betrifft, kommen sie bei Zeichengerätetreibern ins Spiel und werden bei der Bindung zwischen der Anwendung im Benutzerbereich und dem (Zeichen-)Treiber verwendet.