Ich habe gelesen, Treiber als Kernel-Module implementiert und bin verwirrt über die CMD-Argument für den Systemaufruf. Es scheint, dass das CMD-Argument für den Systemaufruf neben anderen Informationen die Hauptnummer des Geräts codiert. Warum das? Sind diese Informationen unbedingt notwendig?Kernel-Module und Major-Nummern
Angenommen, ich schreibe auf mein Gerät als "echo 5>/dev/mytestdevice". Ich gebe die Major-Nummer nicht an, daher glaube ich, dass der Kernel bereits eine Möglichkeit hat, das Gerät seinem Kernel-Modul zuzuordnen. Wenn das der Fall ist, warum muss ich diese Information in einem ioctl Anruf dem Gerät zur Verfügung stellen (wie ich das dem Gerät als das erste Argument übergebe)?
zusammenfassend meine Fragen sind: -
- Wenn ich ein "echo 5>/dev/mytestdevice", wie findet der Kernel die Treiber zu diesem Gerät entspricht?
- Warum wird die Major-Nummer als Argument für einen ioctl-Aufruf übergeben?