Wie kommunizieren Programme mit Treibern?



  • Also soweit ich weiß, gibt es auch Hardware-Hersteller, die auch Treiber für Linux entwickeln. Die Treiber sind nur nicht open-source...
    (Nvidia?)



  • ------------------------- schrieb:

    @gdfgdfgd:
    danke, habe mittlerweile verstanden, wie das mit inb und outb geht.

    Ich weiß aber garnicht, woher die Entwickler diese Spezifikationen herbekommen

    zu hardware gibts eigentlich immer irgendwelche datasheets.
    das sieht dann z.b. so aus: http://www.cs.usfca.edu/~cruse/cs326/RTL8139D_DataSheet.pdf

    manchmal meinen hersteller, spezifikationen geheimhalten zu müssen.
    siehe das thema DVD mit all ihren tollen features wie ländercodes usw...
    früher oder später wird das aber ohnehin geknackt, und sei es auch nur, wie bei der DVD, weil anwender ihre DVDs auf Linux abspielen wollten und nicht nur auf Win98.



  • ------------------------- schrieb:

    Bashar schrieb:

    Ja, natürlich. Wenn wir darüber reden, wie der Prozessor mit der Peripherie kommuniziert, werden das wohl kaum Shell-Befehle sein ...

    Ok, wahrscheinlich nutzt jedes Gerät einen anderen Port, sodass für jeden ****** extra was implementiert werden muss?

    Nicht nur andere Ports, die Unterschiede sind z.T. massiv.
    Was glaubst du warum du beim Installieren von Windows bereits während des Setup nen Treiber mit [F8] laden musst, wenn dein PC z.B. nen SCSI Controller hat (und die Disk auf die du installierst über diesen angesprochen wird)?



  • Nächste Frage:

    Sind diese Ports, bzw. die Befehlsreferenz von Festplatten genormt?

    Also kann jede Festplatte über Port x angesprochen werden, und mit Byte z kann ich b Bytes von Offset o in den RAM laden?



  • ... ich meine nur, dass es viel Sinn machen würde, dass es wenigstens herstellerunabhängige Spezifikationen gibt, die die Hersteller implementieren, zumindest für Festplatten... ?



  • ------------------------- schrieb:

    ... ich meine nur, dass es viel Sinn machen würde, dass es wenigstens herstellerunabhängige Spezifikationen gibt, die die Hersteller implementieren, zumindest für Festplatten... ?

    In der Tat, für viele Arten von Geräten gibt es sowas...



  • ... Link?


  • Mod

    ------------------------- schrieb:

    ... Link?

    Für was? Alle Arten von Hardwarestandards, die es jemals gegeben hat? Kannst du sogar haben:
    http://en.wikipedia.org/wiki/Category:Computer_hardware_standards



  • SeppJ schrieb:

    ------------------------- schrieb:

    ... Link?

    Für was? Alle Arten von Hardwarestandards, die es jemals gegeben hat? Kannst du sogar haben:
    http://en.wikipedia.org/wiki/Category:Computer_hardware_standards

    Ich sprach von Festplatten, leider ist mein Post auf der anderen Seite, weshalb du ihn vielleicht nicht gelesen hast:

    ------------------------- schrieb:

    Nächste Frage:

    Sind diese Ports, bzw. die Befehlsreferenz von Festplatten genormt?

    Also kann jede Festplatte über Port x angesprochen werden, und mit Byte z kann ich b Bytes von Offset o in den RAM laden?

    Ich hätte gerne einen Link zu so einem Standart.



  • Es gibt solche Standards, allerdings implementieren diese natürlich nicht *alle* Geräte.

    Die meisten SATA Controller implementieren z.B. AHCI.
    SAS oder SCSI Controller allerdings nicht.

    Die Festplatten selbst entsprechen allerdings immer irgend einem Standard. IDE, ATAPI, SATA, SCSI, SAS - irgendsowas.



  • Wie kann ich erkennen, ob meine Festplatte AHCI unterstützt?



  • ------------------------- schrieb:

    Wie kann ich erkennen, ob meine Festplatte AHCI unterstützt?

    wie wärs wenn du dir ein buch zu dem thema besorgst z.b. das buch von prof. tanenbaum?
    du wirst kaum in einem forum lernen können, wie ein OS funktioniert.
    und deinen fragen nach zu urteilen fehlen dir einfach die basics.



  • ------------------------- schrieb:

    Wie kann ich erkennen, ob meine Festplatte AHCI unterstützt?

    Einfach: sie tut es nicht.
    Dein SATA Controller aber vermutlich.



  • @ sdasdasda:
    Solche Lehrbücher sind mir generell zu teuer.



  • ------------------------- schrieb:

    @ sdasdasda:
    Solche Lehrbücher sind mir generell zu teuer.

    tja jeder muss wissen für was er geld ausgibt.

    ich hab in den letzten jahren insgesamt ein paar hundert euro für bücher ausgegeben. ich behaupte mal, das geld hab ich durch ein höheres gehalt, dass ich aufgrund meiner kenntnisse verlangen konnte schon längst wieder herinnen.



  • ------------------------- schrieb:

    Hallo,

    wie kommunizieren Programme mit Treibern?

    Ich meine, wenn Programme (z. B. Browser) auf das Internet zugreifen, dann nutzen sie wahrscheinlich einfach die von der System-API bereitgestellten Funktionen (Sockets usw.).

    Was machen diese Funktionen genau, bzw. wie arbeiten sie?
    Ist es möglich, auch ohne diese APIs direkt mit einem Treiber zu kommunizieren?

    Für gewöhnlich gibt es bekannte Schnittstellen über die die Kommunikation erfolgt. Dabei existieren bestimmte Treiberklassen (nicht Klassen im Sinn der OOP, sondern von Klassifizierung), die die Hardware abstrahieren.



  • Ich sags immer wieder... Es gibt auch Büchereien. Die Bücherei unserer FH hat wahrscheinlich hunderte Bücher zu Betriebssystemen und Treibern.



  • Mechanics schrieb:

    Ich sags immer wieder... Es gibt auch Büchereien. Die Bücherei unserer FH hat wahrscheinlich hunderte Bücher zu Betriebssystemen und Treibern.

    ein weiterer grund warum ich das mit "bücher sind zu teuer" nicht ganz nachvollziehen kann.
    vor allem wenn man bedenkt, wieviel leute für smartphones und ähnlich nutzloses zeugs ausgeben, aber für ein gutes buch sind die 50-100euro auf einmal nicht mehr im budget.


Anmelden zum Antworten