Windows ConfidentialDas darf ich auf keinen Fall noch einmal tun

Raymond Chen

Es gibt ein altes Tool für die Windows® 95- Betriebssystemreihe, das als Automatic Skip Driver bezeichnet wird.Ihre erste Reaktion bezog sich wahrscheinlich auf den ungeschickten Namen des Tools, und vielleicht haben Sie sogar vermutet, dass die Buchstaben ASD ursprünglich eine andere Bedeutung hatten.Damit liegen Sie ganz richtig.

Windows 95 musste viele Geräte ohne Plug & Play-Funktion handhaben, da die große Mehrzahl der Systeme damals aus der Zeit vor der Plug & Play-Spezifikation stammte.Die Hardwareerkennung war in Ermangelung richtiger Plug & Play-Geräte ein sehr schwieriges Unterfangen.

Bei der Modemerkennung beispielsweise wurden Abfragen nach den Werten von Dutzenden von Modemregistern ausgegeben.Obwohl eine ziemlich bewährte, grundlegende Modembefehlsliste vorhanden war, gab es beträchtliche Unterschiede bei der Implementierung der undurchsichtigeren Bereiche der Befehlssprache.Es überrascht daher nicht, dass diese Inkonsistenzen für Kommunikationsprogramme frustrierend waren, da Sonderfälle für verschiedene Modemmodelle hinzugefügt werden mussten, um individuellen Problemen gerecht zu werden, doch die Inkonsistenzen erwiesen sich als Segen für Windows:Da sich jedes Modem geringfügig anders verhielt, konnte Windows diese undurchsichtigeren Bereiche untersuchen und das Verhalten des Modems mit einer Tabelle bekannter Modems und ihrer Antworten vergleichen.

  

Es gab einen Mitarbeiter im Windows 95-Team, dessen Aufgabe darin bestand, alle bekannten Modems zu installieren und ein kleines Programm auszuführen, das das jeweilige Modem auf Herz und Nieren prüfte, undurchsichtige Bereiche erforschte und die Ergebnisse von jedem Modem sammelte, sodass eine vollständige Modemdatenbank erstellt werden konnte.Wenn Sie noch Zugriff auf einen Computer haben, auf dem Windows 95 ausgeführt wird, können Sie das Windows\Inf-Verzeichnis öffnen und sich die Dateien ansehen, deren Name mit MDM beginnt.Über ein Megabyte an Geräteinformationsdateien ist Modems gewidmet.Das sind einige Lebensjahre eines Mitarbeiters, zusammengefasst in einem Megabyte nicht lesbarer Hexadezimalzahlen.

Das Erkennen von Modems war eine ziemlich einfache Sache, da sich fast alle Modems auf hoher Ebene etwa gleich verhielten. Interessant wurde es erst bei den Details.Viel schwieriger waren die Geräte, die E/A-Ports verwendeten.Um beispielsweise zu erkennen, ob eine bestimmte Videokarte installiert war, sendete das Videokartenerkennungsmodul im Konfigurations-Manager von Windows 95 sorgfältig ausgewählte Werte an bestimmte E/A-Ports und hörte Antworten des jeweiligen Geräts ab.Wenn das Gerät genau richtig antwortete, nahm der Konfigurations-Manager an, dass er das Gesuchte gefunden hatte.Wenn nicht, ging er zum nächsten Videokartenmodell über.

Wenn das auf diesem E/A-Port installierte Gerät nicht die Videokarte war, für die der Konfigurations-Manager den Test durchführte, konnte das Gerät ziemlich verstimmt reagieren, weil ihm jemand Werte sendete, die keinen Sinn ergaben.In Abhängigkeit davon, wie launisch es war, konnte der Computer abstürzen oder wurde neu gestartet.Das verhieß nichts Gutes für den Konfigurations-Manager.So wurde das als ASD bezeichnete Modul geboren.

Bevor der Konfigurations-Manager diese möglicherweise katastrophalen Hardwareprüfungen durchführte, erstellte er eine Datei, die im Grunde Folgendes besagte: „Oh nein!Ich stehe kurz davor, den gefährlichen Vorgang X auszuführen!“Dies war die Computerversion des klassischen Umschlags mit der Aufschrift „Im Fall meines Todes zu öffnen“, den der Held eines Abenteuerfilms bei seiner Freundin zurücklässt, bevor er ein Himmelfahrtskommando unternimmt, um das Böse zu bekämpfen.

Wenn der gefährliche Vorgang X tatsächlich dazu führte, dass der Computer abstürzte oder neu gestartet wurde, sah das System beim nächsten Start diese magische Datei und öffnete „den Umschlag“, um festzustellen, ob es der gefährliche Vorgang X war, der den Computerabsturz verursacht hatte.Das System kam dann zu dem Schluss, dass der Versuch, Gerät X zu erkennen, verhängnisvoll war, und es dies nie wieder tun würde!

Das Modul, das diese Arbeit durchführte, wurde als ASD bezeichnet.Die Buchstaben ASD waren eine Abkürzung für „Attempting Something Dangerous“ (Versuch, etwas Gefährliches zu tun).

Raymond Chen befasst sich auf seiner Website The Old New Thing und in seinem gleichnamigen Buch (Addison-Wesley, 2007) mit der Geschichte von Windows und mit der Win32-Programmierung.Er ist vorsichtig, weil der Teller sehr heiß ist.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.