Ich ging durch viele Dokumentationen und Fragen wie how system call implemented, disassemble a system call und auch meine eigenen Schlitten auf Schlitten Aktie Linux kernel tour aber ich möchte wissen, wann wir öffnen jede Datei, kann Gerät sein, regulär, Rohr oder Socket, welcher Teil des Codes bindet die Systemaufrufe wie öffnen, lesen, schreiben, um seine betroffenen Treiber file_operation Funktionen., die einen Teil des Kernel-Systemaufruf hilft während der Laufzeit auf seine erforderliche Treiberfunktion zu binden
Auch ich bin in der Lage, einige der Funktionen zu finden und ihre Definition in SYSCALL_DEFINEx dann sys_calls etc, aber wie konnte nicht die Punkte bis Fops Struktur von Treiber und Bindung verbinden, so war etwas verwirrt, ist es durch getan udev, jeder andere Kernel-Dämon, jede andere Funktion oder alle Funktionen werden separat definiert, während der Treiber geprüft wird.
Suche nach einer Idee, um diese Punkte zu verbinden.
ok gut, schon erwähnte diese Dinge in Frage. Aber was ich fragte ist, wenn wir irgendeine Datei öffnen, nehmen wir/dev/sda und/dev/sdb, wo sda ist Festplatte und sdb ist USB-Laufwerk beide verschiedene Implementierungen für öffnen, lesen, schreiben. Ich wollte wissen, wie wir den USB-Stecker, es ist geprüft und neue file_ops sind registriert, so dass wenn wir öffnen sda Festplatte sind die Fops verwendet werden und für sdb neue USB-Fops verwendet werden. Wer ist also für die Auswahl des jeweiligen Fahrers verantwortlich? Ich wusste auch, dass es mit verschiedenen Minorummern differenziert ist, aber wer ist dafür verantwortlich? –
Die untere Schicht in diesem Fall ein Treiber ist verantwortlich für die Registrierung mit der oberen Schicht entweder zum Zeitpunkt der Initialisierung mit einer Variante der register_ * -Funktion. Dies bindet die Operation an die Struktur der oberen Schicht und ermöglicht später die Auswahl des richtigen Treibers, wenn eine offene oder andere Funktion aufgerufen wird. Dies ist das Grundkonzept. Aber ich hoffe, es wird Ihnen helfen, die Antwort zu finden, nach der Sie suchen. –
hm .. ja, muss mehr recherchieren. Ich habe versucht, etwas für mein Projekt zu hacken. Trotzdem danke! –