Ein langjähriger Microsoft-Ingenieur erklärt, dass der ursprüngliche Task-Manager nur 80 KB groß war
Ein langjähriger Microsoft-Ingenieur erklärt, dass der ursprüngliche Task-Manager nur 80 KB groß war, damit er auf Computern der 90er Jahre reibungslos laufen konnte – das ursprüngliche Dienstprogramm nutzte eine clevere Technik, um festzustellen, ob es die einzige laufende Instanz war
Derselbe Dave Plummer war auch das Genie hinter der ZIP-Datei-Unterstützung von Windows.
Dave Plummer, der Ingenieur hinter vielen der legendären Windows-Funktionen wie der ZIP-Datei-Unterstützung, verriet, wie er den Task-Manager so effizient gestaltet hat. Laut seinem YouTube-Video ist der aktuelle Windows-Task-Manager etwa 4 MB groß, aber die ursprüngliche Version, die er entwickelte, war nur 80 KB groß. Plummers Hauptanliegen bei der Entwicklung des Windows-Dienstprogramms war, dass die Hardware zu jener Zeit so begrenzt war und dass sich das Tool, das zur Wiederherstellung des PCs nach einem Totalausfall diente, auch dann noch flüssig und reaktionsschnell anfühlen musste, wenn alles andere bereits eingefroren war.
Jede Zeile hat ihren Preis; jede Zuweisung kann Spuren hinterlassen. Jede Abhängigkeit ist ein Mitbewohner, der dein Essen isst und nie Miete zahlt. Und so ging ich, als ich schließlich den Task-Manager schrieb, nicht wie bei einem modernen Dienstprogramm vor, bei dem man mit einem Framework beginnt, neun Komfortschichten und sechs Zukunftssicherheitsschichten hinzufügt und dann überrascht tut, wenn das Ding 800 MB verschlingt und eine motivierende Rede hält, um nur ein paar Zahlen anzuzeigen.
Eine von Plummers Lieblingsfunktionen am Task Manager ist die Art und Weise, wie es den Startvorgang handhabt. Im Gegensatz zu anderen Apps, die lediglich prüfen, ob bereits eine Instanz der App läuft, und diese aktivieren, wenn dies der Fall ist, geht dieses Windows-Tool einen Schritt weiter. Es prüft, ob die bereits vorhandene Instanz - falls vorhanden - nicht eingefroren ist, indem es ihr eine private Nachricht sendet und auf eine Antwort wartet. Erhält es eine positive Antwort, ist das ein Zeichen dafür, dass die andere Task-Manager-Instanz einwandfrei läuft; wenn es jedoch nur Schweigen erhält, geht es davon aus, dass auch die andere Instanz ausgefallen ist, und startet, um dir aus der Sackgasse zu helfen.
Eine weitere Maßnahme des Entwicklers bestand darin, häufig verwendete Zeichenfolgen einmalig in globale Variablen zu laden, anstatt sie immer wieder neu abzurufen, während selten genutzte Funktionen, wie das Auswerfen eines angedockten PCs, nur bei Bedarf geladen werden. Der Prozessbaum spart zudem Ressourcen, indem er den Kernel nach der gesamten Prozesstabelle abfragt, anstatt Programme einzeln abzufragen. Dies eliminiert zahlreiche API-Aufrufe, und falls der Puffer zu klein ist, wird dessen Größe angepasst und der Vorgang erneut versucht. Plummer teilte außerdem einige Tipps und Tricks mit, die er nutzte, um sicherzustellen, dass der Windows Task-Manager nicht mehr Ressourcen als nötig beanspruchte, sodass er auf der damals verfügbaren begrenzten Rechenleistung reibungslos lief, selbst auf Systemen, die bereits mit Problemen zu kämpfen hatten.
Die Verarbeitungs- und Ressourcenbeschränkungen der Computer der 90er Jahre zwangen Plummer dazu, den Windows Task-Manager so schlank wie möglich zu gestalten.
Der Task-Manager entstand aus einer ganz anderen Denkweise heraus.
Er stammte aus einer Welt, in der man einen Seitenfehler spürte, in der sich Speicherengpässe seltsam anfühlten, in der man die Leute in den Büros praktisch stöhnen hören konnte, wenn man das Falsche zu oft neu zeichnen ließ. Und obwohl ich absolut nicht zu dieser alten Hardware zurückkehren möchte, wünschte ich mir doch, wir hätten mehr von diesem Gespür beibehalten. Nicht das Leiden, sondern das Gespür, den Instinkt, Aufgaben zu bündeln, die richtigen Dinge zwischenzuspeichern, unsichtbare Arbeit zu überspringen, vor dem Neuzeichnen zu vergleichen, den Kernel einmal statt hundertmal abzufragen, seltene Daten nur selten zu laden und misstrauisch gegenüber Bequemlichkeit zu sein, wenn diese dem Nutzer eine Rechnung präsentiert.