Keine Schnittstelle für Treiber?

Dieses Thema im Forum "Linux OS" wurde erstellt von Exzel, 05.04.2008.

  1. Exzel

    Exzel Jungspund

    Dabei seit:
    30.09.2006
    Beiträge:
    24
    Zustimmungen:
    0
    Hallo zusammen,

    wenn doch Treiber in den Kernel compiliert werden müssen, bzw. als Modul geladen werden, gibt es dann überhaupt eine Schnittstelle zwischen Treibern und Kernel?

    Ist dies evtl. schon in Planung?

    Interessiert mich einfach.


    Gruß
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Blender3D, 05.04.2008
    Blender3D

    Blender3D Vitamin C++

    Dabei seit:
    17.09.2007
    Beiträge:
    228
    Zustimmungen:
    0
    Ort:
    /root
    Naja... für die Treiberentwicklung kannst du halt die Kernelheaders verwenden. Daraus folgt, dass der Kernel selber quasi eine Schnittstelle ist/beinhaltet.

    Grüße, Blender3D
     
  4. #3 Schwedeii, 05.04.2008
    Zuletzt bearbeitet: 05.04.2008
    Schwedeii

    Schwedeii Tripel-As

    Dabei seit:
    09.01.2006
    Beiträge:
    208
    Zustimmungen:
    0
    Eine Schnittstelle in der Form, wie wir es meinen, existiert nicht. Auch wenn der Kernel modular aufgebaut ist, werden die Module im nachhinein an den Kernel angedockt.
    Wie ist das zu verstehen? Wenn Du einen Kernel mal konfigurierst, wirst Du sehr schnell erkennen, dass es, vor allem für Gerätetreiber, 3 Optionen gibt: aktiviert, nicht aktiviert uind Modul. Beim Modul wird eine Schnittstelle fur das Modul bereitgestellt, an die aber nur das entsprechende Modul passt. Und auch nur das von der entsprechenden Kernelversion. Bis zum Kernel 2.4 konnte man die kompilierten Module mit etwas Glück vom Kernel 2.4.12 auf den 2.4.18 übertragen. das geht nun kaum noch.
     
  5. Exzel

    Exzel Jungspund

    Dabei seit:
    30.09.2006
    Beiträge:
    24
    Zustimmungen:
    0
    Ist da was geplant?

    Danke für die Antworten,

    ist dann da irgendetwas geplant, um universelle Schnittstellen für die Gerätetreiber anzubieten?

    Gruß
     
  6. pinky

    pinky König

    Dabei seit:
    11.08.2004
    Beiträge:
    795
    Zustimmungen:
    0
    Wohl eher nicht. Die Gründe dafür sind afaik:

    1. unflexibel, da man dann immer die Kompatibilität (Altlasten) zu der Schnittstelle mitschleppen muss
    2. es bringt keine nennenswerten Vorteile, die Treiberentwicklung "im" Kernel funktioniert sehr gut.
     
  7. Exzel

    Exzel Jungspund

    Dabei seit:
    30.09.2006
    Beiträge:
    24
    Zustimmungen:
    0
    Aber...

    ...jedes Update des Kernels führt dazu, dass der Treiber neu einkompiliert werden muss, oder?

    Gruß
     
  8. #7 Herr Nilsson, 06.04.2008
    Zuletzt bearbeitet: 06.04.2008
    Herr Nilsson

    Herr Nilsson Eroberer

    Dabei seit:
    21.03.2008
    Beiträge:
    62
    Zustimmungen:
    0
    Ort:
    Dortmund
    Vielleicht verstehen wir unter dem Begriff "Schnittstelle" nicht alle das gleiche, denn ich hätte gesagt: Selbstverständlich bietet der Kernel seinen Modulen eine Reihe von Schnittstellen an.

    Unter dem Link findest Du ein Beispiel für ein "Hallo Welt"-Kernelmodul. Dort wird gezeigt, wie eine Schnittstelle zum Einbinden und Entfernen von Kernelmodulen verwendet wird. Im Quellcode des Moduls werden durch "module_init()" und "module_exit()" dem Kernel die sog. "Funktionszeiger" auf die Funktionen "hello_start" und "hello_end" mitgeteilt. Der Kernel wird dann später beim Einbinden und Entfernen des Moduls durch die Shell-Befehle "insmod" und "rmmod" dazu veranlaßt, diese Funktionen aufzurufen. Ich würde also schon sagen, daß der Kernel eine Schnittstelle zum Einbinden und Entfernen von Modulen bereitstellt.

    Viele "Dienste", die von Modulen angeboten werden, sind schon beim Kernel-Design bekannt gewesen. Ein Treiber für ein R/W-Speichermedium wird beispielsweise immer Funktionen zum Speichern und Lesen von Rohdaten anbieten. Diese Treiber beherrschen zwar den Datenaustausch mit der von ihnen unterstützten Hardware, überlassen aber Dienste wie "Cache" und "Dateisystem" komplett irgendwelchen anderen Modulen. Alle diese Module kommunizieren aber untereinander über zuvor festgelegte Schnittstellen.

    Wird ein neuer Treiber für eine Netzwerkkarte oder einen Festplatten-Controller geschrieben, kann dieser "sauber" in den Kernel integriert werden, wenn sich dieser eng an die für ihn vorgesehenden Schnittstellen hält.

    Problematisch wird es immer dann, wenn Dienste in das System integriert werden sollen, die beim Design des Kernels überhaupt nicht berücksichtigt worden sind. Beispielsweise war das Thema "power management" beim Design der alten Kernel noch kein Thema. Stromsparen wird zunehmend zu einem interessanten Thema und mittlerweile wird es auch von vielen Hardware-Komponenten unterstützt. Hier wurde in letzter Zeit viel geändert, um dem Kernel das Stromsparen beizubringen.

    Anmerkung: Wer auf die Idee kommt, selber Kernelprogrammierung zu betreiben, betritt dünnes Eis! Fehler und Abstürze können im schlimmsten Fall zum Totalverlust von Daten führen! Unbedingt zuvor eine Sicherheitskopie von wichtigen Daten anfertigen!
     
  9. Exzel

    Exzel Jungspund

    Dabei seit:
    30.09.2006
    Beiträge:
    24
    Zustimmungen:
    0
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. Gast1

    Gast1 Guest

  12. Exzel

    Exzel Jungspund

    Dabei seit:
    30.09.2006
    Beiträge:
    24
    Zustimmungen:
    0
    Vielen Dank!

    Mal sehen, wann ich in der Lage bin diesen englischen Text wirklich zu verstehen :)
     
Thema:

Keine Schnittstelle für Treiber?

Die Seite wird geladen...

Keine Schnittstelle für Treiber? - Ähnliche Themen

  1. Keine Benachrichtigungen im Vollbild Modus

    Keine Benachrichtigungen im Vollbild Modus: Arch Linux Plasma 5.8 Weiss einer ob das gehen sollte, bzw kann mal einer testen ob es bei ihm geht, gerne auch mit anderen kde/plasma versionen....
  2. BSI-Audit findet keine akuten Probleme in OpenSSL

    BSI-Audit findet keine akuten Probleme in OpenSSL: Das Bundesamt für Sicherheit in der Informationstechnik hat OpenSSL auf seine Sicherheit untersuchen lassen. Die Analyse zeigt vor allem, dass die...
  3. BSI-Audit findet keine akute Probleme in OpenSSL

    BSI-Audit findet keine akute Probleme in OpenSSL: Das Bundesamt für Sicherheit in der Informationstechnik hat OpenSSL auf seine Sicherheit untersuchen lassen. Die Analyse zeigt vor allem, dass die...
  4. RoboVM keine freie Software mehr

    RoboVM keine freie Software mehr: RoboVM, Hersteller der gleichnamigen Entwicklungsumgebung für Mobilsysteme, hat die Lizenz von der GPL in eine proprietäre Lizenz gewandelt. Nach...
  5. Steam: Keine Unterstützung für »unsaubere« Linux-Spiele

    Steam: Keine Unterstützung für »unsaubere« Linux-Spiele: Der Betreiber der Steam-Plattform, Valve, hat einer Reihe von Spielen die Kennzeichnung entzogen, wonach das Produkt unter Linux oder SteamOS...