DirectX 10 kommt nicht für Windows XP, nur für Vista
Hallo, zur der Diskussion möchte ich auch meinen Sämpf :-) dazugeben.
Als angehender Systemprogrammierer sehe ich keine grossen Schwierigkeiten wegen der Auslagerung der Grafikeinheit aus dem Kernel, eher sogar Vorteile.
Das Betriebssystem, hier Win XP, stellt im Grunde Schnittstellen zur Verfügung, das heisst Programme können/sollten nicht direkt auf die Hardware zugreifen.
Programm Betriebssystemschnittstelle Treiber Hardware
Bei Spielen: Spiel DirectXschnittstelle Treiber Hardware
Ihr seht das es im Prinzip das Gleiche ist. Die Betriebssystemschnittstelle ist aber wesentlich langsamer als DirectX, da jedesmal zig Sachen überprüft werden (Ist das Programm dazu berechtigt, stimmt das Datenformat, etc.)
DirectX wurde deshalb entwickelt und optimiert um die ganzen Überprüfungen zu Umgehen + T&L, Pixel-, Vertexshader anzusprechen. Das erkärt auch im wesentlichen warum im Softwarerendering die Spiele so langsam sind.
Nun aber zu der Auslagerung der Grafikeinheit. Betrachten wir das Betriebssystem wie eine Zwiebel mit Schalen. Aussen die Programme , dann das Betriebssystem(Oberfläche, etc) , Treiber und zum Schluss in der Mitte der Kernel .
Programme können also nicht direkt mit dem Kernel kommunizieren.
Der Kernel ist das Programm was im Grunde am wichtigsten ist, es kümmert sich um die grundlegensten Funktionen des Betriebssystems, wie Speicherverwaltung, I/O Schnittstellen, Programmmanagement (Multitasking),etc.
An diesem Kernel kann man, wenn man will, Treiber anfügen, die besonders wichtig sind. Z.B. Netzwerktreiber. Hat die Netzwerkkarte Daten bekommen und will sie dem Betriebssystem übergeben, so ist jetzt die Chance höher das sich der Kernel darum kümmert als wenn der Treiber ausgelagert ist.
VORTEIL: Höherer Datendurchsatz der Karte weil der interne Puffer nicht überläuft und die Karte dann keine Daten mehr annehmen kann (Kollision, bzw. ICMP).
Der Vorteil wird aber mit einem ganz gravierenden NACHTEIL erkauft!!!
Ist der Netzwerktreiber fehlerhaft oder die HARDWARE beschädigt, dann kann der Kernel hängen bleiben und abstürzen. Das ist dann meistens dieser "Schöne" Bluescreen of Death, oder im Schlimmsten Fall der spontane Neustart des Rechners ausgelöst durch eine Schutzfunktion des Kernels, falls er merkt das irgend etwas nicht stimmt (Daten wurden irgendwie verändert )
Ich denke die Grafikeinheit wurde aus dem Kernel ausgelagert weil keiner der Grafikkartenhersteller die Treiber bei Microsoft überprüfen lässt (Zertifizieren), denn das kostet ne Stange. Bei der Fülle von Herstellern hat Microsoft wohl etwas Angst bekommen das die neue grafische Oberfläche, mit den nicht überprüften Treibern, nicht so richtig läuft oder Kompaktibel ist.
Mit der Auslagerung der Grafikeinheit kann der Kernel bei Bedarf diese Einheit bei einem Fehler "Resetten" und die minimale Oberfläche fahren.
Also im Prinzip ein Vorteil in Sachen Stabilität bei kaum messbaren Leistungseinbussen.
Bei Linux ist das übrigends fast nur so üblich. Nur die wichtigsten Treiber sind im Kernel eingebunden um das System zu starten. Danach werden die restlichen, benötigten Teile als Module nachgeladen und können auch wieder entladen werden.
DirectX10 auf XP zu portieren ist nicht so schwierig, die Frage ist nur ob Microsoft das möchte. Wenn Ihr DirectX 9C entpackt und euch die .CAB Dateien mit z.B. Winrar anschaut, dann werdet ihr feststellen das ein paar Dateien doppelt oder dreifach da sind, für Windows SE,98,NT,XP. Ich behaupte mal das für diese Betriebssysteme DirextX 9C gleich ist, nur die Schnittstellen der Treiber und des Betriebssystems wurden jeweils angepasst.
Warum sollte das mit DirectX10 und XP nicht auch funktionieren?
MFG
P.S. Ergänzende Angaben sind erwünscht :-)
Kommentare
1
Kommentare
geschrieben
0
Antworten
erhalten
0
Likes
erhalten
DirectX 10 kommt nicht für Windows XP, nur für Vista
Hallo, zur der Diskussion möchte ich auch meinen Sämpf :-) dazugeben.
Als angehender Systemprogrammierer sehe ich keine grossen Schwierigkeiten wegen der Auslagerung der Grafikeinheit aus dem Kernel, eher sogar Vorteile.
Das Betriebssystem, hier Win XP, stellt im Grunde Schnittstellen zur Verfügung, das heisst Programme können/sollten nicht direkt auf die Hardware zugreifen.
Programm Betriebssystemschnittstelle Treiber Hardware
Bei Spielen: Spiel DirectXschnittstelle Treiber Hardware
Ihr seht das es im Prinzip das Gleiche ist. Die Betriebssystemschnittstelle ist aber wesentlich langsamer als DirectX, da jedesmal zig Sachen überprüft werden (Ist das Programm dazu berechtigt, stimmt das Datenformat, etc.)
DirectX wurde deshalb entwickelt und optimiert um die ganzen Überprüfungen zu Umgehen + T&L, Pixel-, Vertexshader anzusprechen. Das erkärt auch im wesentlichen warum im Softwarerendering die Spiele so langsam sind.
Nun aber zu der Auslagerung der Grafikeinheit. Betrachten wir das Betriebssystem wie eine Zwiebel mit Schalen. Aussen die Programme , dann das Betriebssystem(Oberfläche, etc) , Treiber und zum Schluss in der Mitte der Kernel .
Programme können also nicht direkt mit dem Kernel kommunizieren.
Der Kernel ist das Programm was im Grunde am wichtigsten ist, es kümmert sich um die grundlegensten Funktionen des Betriebssystems, wie Speicherverwaltung, I/O Schnittstellen, Programmmanagement (Multitasking),etc.
An diesem Kernel kann man, wenn man will, Treiber anfügen, die besonders wichtig sind. Z.B. Netzwerktreiber. Hat die Netzwerkkarte Daten bekommen und will sie dem Betriebssystem übergeben, so ist jetzt die Chance höher das sich der Kernel darum kümmert als wenn der Treiber ausgelagert ist.
VORTEIL: Höherer Datendurchsatz der Karte weil der interne Puffer nicht überläuft und die Karte dann keine Daten mehr annehmen kann (Kollision, bzw. ICMP).
Der Vorteil wird aber mit einem ganz gravierenden NACHTEIL erkauft!!!
Ist der Netzwerktreiber fehlerhaft oder die HARDWARE beschädigt, dann kann der Kernel hängen bleiben und abstürzen. Das ist dann meistens dieser "Schöne" Bluescreen of Death, oder im Schlimmsten Fall der spontane Neustart des Rechners ausgelöst durch eine Schutzfunktion des Kernels, falls er merkt das irgend etwas nicht stimmt (Daten wurden irgendwie verändert )
Ich denke die Grafikeinheit wurde aus dem Kernel ausgelagert weil keiner der Grafikkartenhersteller die Treiber bei Microsoft überprüfen lässt (Zertifizieren), denn das kostet ne Stange. Bei der Fülle von Herstellern hat Microsoft wohl etwas Angst bekommen das die neue grafische Oberfläche, mit den nicht überprüften Treibern, nicht so richtig läuft oder Kompaktibel ist.
Mit der Auslagerung der Grafikeinheit kann der Kernel bei Bedarf diese Einheit bei einem Fehler "Resetten" und die minimale Oberfläche fahren.
Also im Prinzip ein Vorteil in Sachen Stabilität bei kaum messbaren Leistungseinbussen.
Bei Linux ist das übrigends fast nur so üblich. Nur die wichtigsten Treiber sind im Kernel eingebunden um das System zu starten. Danach werden die restlichen, benötigten Teile als Module nachgeladen und können auch wieder entladen werden.
DirectX10 auf XP zu portieren ist nicht so schwierig, die Frage ist nur ob Microsoft das möchte. Wenn Ihr DirectX 9C entpackt und euch die .CAB Dateien mit z.B. Winrar anschaut, dann werdet ihr feststellen das ein paar Dateien doppelt oder dreifach da sind, für Windows SE,98,NT,XP. Ich behaupte mal das für diese Betriebssysteme DirextX 9C gleich ist, nur die Schnittstellen der Treiber und des Betriebssystems wurden jeweils angepasst.
Warum sollte das mit DirectX10 und XP nicht auch funktionieren?
MFG
P.S. Ergänzende Angaben sind erwünscht :-)