Mahlzeit,
Bin dann leider auch vom Typ her so, dass ich das voll verstehen muss, bzw. manchmal sogar etwas tiefer in die Materia gehe.
wieso "leider"? Mir geht es ähnlich: Wenn mich ein Thema wirklich interessiert, gebe ich auch nicht eher Ruhe, als bis ich es wirklich bis ins Detail verstanden habe.
Wohingegen ich eigentlich manche Sachen sicherlich nur auswendig lernen könnte, ohne den Hintergrund großartig zu verstehen.
Das genügt mir, wenn mich ein Thema nicht wirklich interessiert, und ich es einfach nur wissen "muss".
Beamen wir uns mal etwa 10 Jahre in die Vergangenheit und betrachten das an einem ziemlich offensichtlichen Beispiel: Eine CAN-Karte wird mit einem Treiber für Windows 95/98 geliefert (war damals noch bedeutsam). Der Treiber hat die auf die Hardware abgestimmte Schnittstelle, die ich schon erwähnt habe, er hat eine vom Hersteller festgelegte Schnittstelle zur Anwendung, und er muss außerdem bestimmte Bedingungen erfüllen, damit er vom OS als Treiber verwaltet werden kann (muss beispielsweise ganz bestimmte Funktionen zur Initialisierung und zur Konfiguration unterstützen). Das ist die dritte Schnittstelle, die ich meinte.
Nun kommt Windows 2000. Win2k hat ein ganz anderes Modell, wie es seine Treiber verwaltet, die sich vom Treibermodell von Windows 9x grundlegend unterscheidet. Also wird behauptet, die alte CAN-Karte sei nicht mit Windows 2000 kompatibel. Sie bräuchte eigentlich nur einen auf Windows 2000 angepassten Treiber, aber der Hersteller will ja lieber neue Karten verkaufen (denen dann ein Win2k-Treiber beiliegt), denn das ist lukrativer, als für alte Produkte neue Software zu entwickeln.
Jetzt klarer?
Klarer auf jedenfall. Bzw. eigentlich voll, bis auf die eine Schnittstelle der Anwendung.
Oh. Dabei ist das für mich die eindeutigste.
Die anderen 2 Schnittstellen sind klar. Wenn nun das Betriebssystem zum Beispiel einen Drucker installiert hat. Und irgend eine Anwendung nun den Drucker nutzen will, würde ich denken, dass er dies dem Betriebssystem mitteilt und das Betriebssystem dann den Rest regelt, also nicht über eine direkte Schnittstelle zum Treiber geht.
Hehe. Ich hatte für mein Beispiel absichtlich eine etwas exotische Hardware gewählt, die nicht vom Standard-Betriebssystem bedient wird.
Ja, du hast recht, bei einem Druckertreiber geht der Weg normalerweise nicht von der Anwendung direkt zum Treiber, sondern an eine Standardfunktion des Betriebssystems. Das OS selbst benutzt in diesem Fall auch die Anwendungsschnittstelle des Treibers.
Dazu kommt, dass ein Druckertreiber meist kein echter Treiber (im Sinn einer Hardware-Ansteuerung) ist, sondern bloß eine Daten-Aufbereitungsschicht. Die Hardware, die dabei benutzt wird (IEEE1284-Schnittstelle, vulgo "Parallelport", USB oder Ethernet, selten RS232), nimmt man meistens gar nicht mehr bewusst zur Kenntnis, und diese Hardware ist auch soweit standardisiert, dass der entsprechende Treiber schon im OS integriert ist. Da ist die Abgrenzung der logischen Einheiten wieder schwierig.
Ciao,
Martin
Disziplin: Teppichböden wiederfinden, wenn man sie verlegt hat.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(