VOICE Homepage: http://de.os2voice.org
September 2001

[Inhaltsverzeichnis]
[Vorherige Seite] [Nächste Seite]
[Artikelverzeichnis]

editor@os2voice.org


Eine OS/2-Geschichtsstunde: Die frühen Jahre

Von Michal Necasek © September 2001, Übersetzung: Cornelis Bockemühl

In der letzten Ausgabe habe ich eine kurze Beschreibung der Wunder des Microsoft/IBM-Betriebssystems/2, Version 1.3 gegeben, die letzte 16-Bit-Version von OS/2, die vor 10 Jahren erschienen ist. Dieses Mal möchte ich wiederum zu einer Reise gegen den Strom der Zeit aufbrechen und einen Blick auf die OS/2-Entwicklungen der Jahre 1988-1990 werfen.

OS/2 Version 1.2

Ende 1989 veröffentlichten IBM und Microsoft OS/2 Version 1.2. Das war ein sehr wichtiges Ereignis in der OS/2-Geschichte, weil mit Version 1.2 endlich alle (ok, die meisten) Eigenschaften implementiert wurden, die für OS/2 versprochen worden waren, noch bevor es überhaupt erschienen war. Seit 1.0 wurden die Programmierer gewarnt, sich nicht auf die im FAT-Dateisystem gegebene 8.3-Namenskonvention zu verlassen und Dateinamen nicht selber zu parsen. In OS/2 1.2 machten IBM und Microsoft diese Drohung schliesslich wahr und fügten die Unterstützung von installierbaren Dateisystemen (IFS) hinzu, samt der ersten Inkarnation davon, dem High Performance File System (oder abgekürzt HPFS).

HPFS war von Grund auf von Gordon Letwin entworfen, dem Chief Architect für OS/2 bei Microsoft. Dieses Dateisystem überwand so ziemlich alle störenden Einschränkungen des FAT-Dateisystems. Einige der wichtigsten Eigenschaften von HPFS waren:

Es gab zwei Versionen des HPFS-Dateisystems: Das "normale" HPFS und HPFS386. Letzteres wurde mit dem Microsoft LAN-Manager mitgeliefert (und dem IBM LAN-Server), war deutlich schneller, erlaubte wesentlich grössere Caches und hatte mehrere für den Gebrauch auf Servern zugeschnittene Erweiterungen, wie etwa eingebaute Access Control Lists (ACLs) oder Verzeichnis-Grenzen. Darüber hinaus war es geschwindigkeitsmässig für den Gebrauch in Dateiservern speziell optimiert. Ich habe einige Hinweise darauf gefunden, dass Letwin tatsächlich zuerst HPFS386 geschrieben hat und dass die "Lite"-Version davon abgeleitet wurde. Es wird erzählt, dass IBM und Microsoft, als sie eingesehen hatten, dass FAT es ganz einfach nicht mehr tun würde, beschlossen haben, ein neues Dateisystem zu schreiben. Jede der beiden Gesellschaften entwickelte zunächst ihr eigenes und dann liessen sie die Systeme gegeneinander antreten, um zu sehen, welches schneller war. HPFS hat gewonnen. Dummerweise stellte es sich heraus, dass es die ganz in Assembler geschriebene Nur-386-er-Version war, und als man das System in C umgeschrieben hatte, damit es auch auf 286-ern läuft, war es nicht mehr schneller als das Dateisystem von IBM.

Es ist interessant, dass das FAT-Dateisystem schon in den 1980-er Jahren dafür bekannt war, dass es mehr schadet als nützt, aber Microsoft verkauft es noch immer mit seiner Windows 9x-Produktlinie, viele Jahre später (eine Ewigkeit in der Computer-Zeitrechnung). Man hat zwar ein paar Kapazitäts- und Namens-Einschränkungen behoben, aber andere Probleme wie die extrem schlechte Resistenz gegen Beschädigungen blieben völlig unberührt. Das Problem mit FAT ist, dass es für Disketten entworfen wurde - es wurde von Bill Gates und Marc McDonald 1977 entwickelt. "Im Einsatz auf einer Festplatte sah FAT eher wie ein Fehler denn wie eine Funktion aus", um einen Artikel von Ray Duncan (dem Autor von mehreren ausgezeichneten Büchern über DOS- und OS/2-Programmierung) zu zitieren, der in der September-Ausgabe 1989 des Microsoft System Journal erschienen ist.

Aber lassen Sie uns zum Thema zurückkehren. OS/2 1.2 hatte auch ein neues Aussehen ("Look and Feel") - welches zufälligerweise das gleiche war wie das von OS/2 1.3. Darum habe ich auch nicht mehr so viele Screenshots gemacht wie das vorige Mal, da ich mich wiederholen würde. Es sei noch darauf hingewiesen, dass dieses Aussehen fast identisch mit dem von Windows 3.0 war, welches wenige Monate nach OS/2 1.2 erschienen ist. Der Presentation Manager selber hatte intern ein paar Änderungen erfahren und das API war leicht umgestellt gegenüber OS/2 1.1, aber von 1.2 nach 1.3 waren die Unterschiede vernachlässigbar. Deshalb war für viele Anwendungen später entweder OS/2 1.2 oder 1.3 erforderlich, und oft liefen diese dann auch nicht unter 1.1.

Bevor ich Bilder zeige, möchte ich kurz die Testhardware beschreiben. Dieses Mal war es ein Celeron 300A mit 64MB RAM, ATI Rage 128 AGP Grafikkarte und 4GB IDE-Festplatte. Die Installation war nicht einfach, wie schon mit OS/2 1.3, weil einer der Basistreiber (KBD$) einen Systemabsturz (Trap) auslöste. Zum Glück gab mir der Trap-Bildschirm (auch bekannt als der "Black Screen of Death") genügend Informationen, um den Gerätetreiber zu patchen und die Abstürze zu beheben. Der Absturz kam offenbar durch einen "zu schnellen" Prozessor zustande, da ich das gleiche Problem auf einer Maschine mit einem offensichtlich antiquierten 386DX/20 nicht hatte.

Die von mir installierte Version war tatsächlich IBM OS/2 1.2 EE (Extended Edition), aber ich werde die EE-Komponenten hier nicht beschreiben. Wie schon erwähnt, sah OS/2 1.2 ziemlich genau so aus wie 1.3, mit nur sehr wenigen Unterschieden. Sehen Sie selber - hier ist der Desktop Manager:


IBM's OS/2 1.2 kam mit einer Reihe von Lernprogrammen daher, sowohl für die EE-Komponenten als auch für das Grund-Betriebssystem. So sahen diese Tutorials aus:


Ich glaube, MS-OS/2 enthielt keine Tutorials, aber ich konnte das nicht verifizieren, da ich keinen Zugang zu MS-OS/2 1.2 habe.

Die Ähnlichkeit zwischen OS/2 1.2 und Windows 3.0 war wirklich verblüffend. Falls Sie vergessen haben, wie Windows 3.0 aussah, hier eine Erinnerungsstütze:


Die Farbgebung war sehr ähnlich und einige Icons waren sogar identisch, ebenso wie die Schriften. Der grosse Unterschied zwischen OS/2 und Windows war der, dass Windows 3.0 auf DOS aufsetzte; es konnte sogar tatsächlich in einer OS/2 1.2 Kompatibilitäts-Box laufen (wie die README von Windows 3.0 beschreibt). Der andere Unterschied war der, dass Windows mit einer riesigen Menge an Treibern daherkam im Vergleich zu OS/2, ebenso wie mit einigen kleinen Anwendungen (die meisten davon nutzlos, ausser Solitaire natürlich). OS/2 war viel mehr "business-like" und fühlte sich im Vergleich dazu ziemlich kahl an.

Verglichen mit OS/2 1.3 war Version 1.2 wirklich nicht sehr interessant. Die Funktionen waren beinahe die gleichen, ebenso wie die äussere Erscheinung. Lassen wir also OS/2 1.2 hinter uns und tauchen wir tiefer in die Vergangenheit ein, wo OS/2 1.1 uns schon erwartet.

Zwischenspiel

Aber bevor wir zu OS/2 1.1 gelangen noch zwei interessante Informations-Bruchstücke zur OS/2 1.1- und 1.2-Ära (oder zumindest interessante Gerüchte), die ich in Büchern über Microsoft entdeckt habe, nämlich The Microsoft File und Barbarians Led by Bill Gates (in dieser Reihenfolge).

Das erste interessante Bruchstück/Gerücht ist, dass Ende 1989 und nachdem er über Microsofts Pläne mit Windows und (Nicht-Pläne) mit OS/2 gehört hatte, Jim Cannavino (Leiter der Personal Systems Division bei IBM) vorschlug, OS/2 abzuwürgen und einen 40%-Anteil an Microsoft zu kaufen, da er bemerkt hatte, dass die Zukunft von OS/2 ziemlich blass aussah. Der CEO von IBM, John Akers, lehnte das ab (zum Glück für uns) und ein guter Grund dafür war, dass IBM ernsthaft bezweifelte, dass die FTC (Federal Trade Commission) das absegnen würde. So beschloss IBM stattdessen, OS/2 "nachzubessern" und Kopf and Kopf mit Microsoft zu konkurrieren. Tatsächlich versuchte die FTC daraufhin, IBM und Microsoft wegen betrügerischer Absprachen anzuklagen, nachdem sie 1989 angekündigt hatten, dass IBMs OS/2 das obere Ende des Markts abdecken würde und Microsofts Windows das untere. Diese Anklage erwies sich aber bald als völlig haltlos, nachdem sich Microsoft und IBM 1990 "geschieden" hatten (wonach die FTC ihre Aufmerksamkeit ganz Microsoft zuwandte).

Das andere leicht schockierende Informations-Bruchstück ist, dass 1987-1988 Microsoft wirklich ernsthaft die OS/2-Option verfolgte und im Sinn hatte, Windows abzuklemmen. Windows 2.0 würde man noch fertigstellen als eine Plattform für Excel, aber dann keine neuen Versionen mehr. Aber dann haben einige wagemutige Microsoft-Entwickler "heimlich" Windows so umgeschrieben, dass es im Protected Mode lief, als ihr eigenes Lieblingsprojekt, und als sie das Resultat Steve Ballmer und Bill Gates zeigten, wurde beschlossen, die Entwicklung von Windows dennoch fortzusetzen. Als sich Windows 3.0 dann 1990 als Renner entpuppte, fand Microsoft, dass man die Gewinne mit niemandem mehr teilen wollen und man trennte sich von IBM.

Ich behaupte nicht, dass irgend etwas von diesen Geschichten wahr ist. Ich glaube persönlich, dass es nicht allzu unwahrscheinlich klingt, aber ich werde nicht versuchen, irgend jemanden zu überzeugen.

OS/2 Version 1.1

OS/2 1.1, welches Ende 1988 erschien, war ein grosser Schritt für OS/2. Der einzige Grund, warum es nicht 2.0 genannt wurde war wahrscheinlich die Tatsache, dass das GUI für die Version 1.0 versprochen worden war, aber nicht rechtzeitig fertig wurde. Die GUI wurde Presentation Manager (oder kurz PM) genannt - fast alles in OS/2 1.x wurde als "Manager" bezeichnet, falls Sie das noch nicht bemerkt haben. Nur nebenbei bemerkt, wurde auch Windows 1.0 unter dem Namen Interface Manager entwickelt, aber die Microsoft-Vermarkter änderten das später, trotz der Proteste der Programmierer.

Der Presentation Manager wurde unter dem Codenamen Winthorn entwickelt (man kann darin Windows hören) und ich glaube, dass dies in erster Linie in den IBM Hursley Labs in Grossbritannien geschah. Es war eine Kreuzung zwischen Microsoft Windows und IBMs Grossrechner-Grafiksystem (GDDM). Das Programmier-Paradigma ähnelt Windows sehr stark: Genau wie Windows war es Nachrichten-basiert und viele der Nachrichten waren sogar identisch. Aber es gab auch eine Reihe wichtiger Unterschiede:

Diese und andere Unterschiede bewirkten, dass die Portierung von Programmen zwischen PM und Windows nicht trivial war. Natürlich ermunterte Microsoft in den späten 80er Jahren die ISVs, für den Presentation Manager zu entwickeln. Interessanterweise brachte Microsoft selber PM-Versionen von Excel und Word erst relativ spät heraus, 1991, zu einer Zeit, als sie schon daran waren, OS/2 aufzugeben.

Das könnte eine Verschwörung von Microsoft gewesen sein - aber ich finde die Erklärung in Barbarians Led by Bill Gates sehr viel glaubwürdiger: Die Microsoft-Programmierer hatten mit den Windows-Versionen von Word und Excel (zur Erinnerung: Mac-Versionen gab es schon vorher) um 1986-7 angefangen. Um die Zeit, als sie mit den OS/2-Versionen anfingen, waren die Windows-Version beinahe fertig. Sie weigerten sich einfach, alles, was sie hatten, wieder hinaus zu werfen und neu für den PM zu schreiben. Und als sie schliesslich doch noch zu den PM-Versionen kamen, war es schon zu spät. Keine Verschwörung, sondern nur schlicht mangelhafte Organisation und das Fehlen einer klaren Strategie, die zufällig zu Microsofts Gunsten wirkten. Ein Beweis für das Durcheinander bei Microsoft ist die Tatsache, dass die Programmiersprachen-Abteilung von Microsoft 100% hinter OS/2 stand - alle "professionellen" Microsoft-Compiler (Assembler, C, Pascal, FORTRAN, BASIC, COBOL), die zwischen 1988 und 1991 herauskamen, unterstützten OS/2 voll (auch wenn die "Quick"- oder Einsteigerversionen nur für DOS waren). In ähnlicher Weise basierte auch Microsofts Netzwerk-Engagement weitgehend auf OS/2, und als OS/2 aufgegeben wurde, hatte Microsoft keine Netzwerk-Serversoftware mehr und musste weiter OS/2 1.3 verkaufen.

Aber ich schweife schon wieder ab (ich kann nichts dagegen machen, Entschuldigung) und ich sollte besser wieder zum Thema kommen. Auf der Nicht-GUI-Seite implementierte OS/2 1.1. endlich Named Pipes (einen Mechanismus zur Interprozess-Kommunikation), die es nicht mehr in OS/2 1.0 geschafft hatten. Auch hinzu gekommen war die Unterstützung "grosser" FAT-Laufwerke - OS/2 1.0 unterstützte nur 32MB-Volumes, genau wie die DOS-Versionen vor 4.0. Die "BigFAT"-Unterstützung von OS/2 1.1 konnte dagegen mit Volumes bis zu 2GB umgehen.

Die Variante von OS/2 1.1 mit der ich herumspielte war eine OEM-Version (Zenith) von Microsoft OS/2. Sie kam auf fünf 3.5"-HD-Disketten daher. Meine Testmaschine war dieselbe wie für OS/2 1.2 und ich hatte auch dasselbe Problem mit einem Absturz von KBD01.SYS, das ich auf fast identische Weise löste. Aus irgend einem Grund funktionierte OS/2 1.1 nicht mit einer Matrox G400-Karte (der Monitor verlor die Synchronisation), aber problemlos mit der ATI Rage 128 AGP.

Die GUI von OS/2 1.1 würde sicherlich nicht in einem Schönheitswettbewerb gewinnen - ein Grund war vielleicht der, dass sie mit alten Grafikkarten wie CGA im Hinterkopf entworfen war. Das Look and Feel ähnelte sehr stark Windows 2.x. Nach dem Start wurden die Benutzer mit diesem Bildschirm begrüsst:


Man kann in der linken unteren Ecke das DOS-Session-Icon erkennen, neben dem Print Manager-Icon. OS/2 1.1 unterstützte nur monochrome Icons (1.2 hat das behoben). Das Icon in der rechten unteren Ecke ist der minimierte Task Manager.

Das dritte Icon links habe ich selber erzeugt:


Das PM Camera-Programm, welches ich unter OS/2 1.3 für die Screenshots verwendet habe, stürzte leider unter OS/2 1.1 ab (und tatsächlich auch unter OS/2 1.2). Eine kurze Suche nach einer 1.1-kompatiblen Alternative erbrachte nichts (was keine Überraschung ist), sodass ich mich entschied, ein wenig Zeit aufzuwenden für ein eigenes kleines, rohes Hilfsprogramm. Ich benutzte ein Beispielprogramm aus Charles Petzolds Buch Programming The OS/2 Presentation Manager (welches für OS/2 1.1 geschrieben war) als Grundlage und erweiterte es dann deutlich (hauptsächlich um die Aktivierung per Hotkey zu ermöglichen und die eingefangenen Bitmaps abzuspeichern). Ich muss sagen, dass neben dem Print Manager-Icon, welches aussieht wie von einem 5-Jährigen gezeichnet, mein "Screen Captor"-Icon (Ich nannte das Programm PM Pentax, nach meiner Kamera in der realen Welt) auffallend hübsch aussieht - oder zumindest wie von einem 10-Jährigen gezeichnet. Ich habe die starke Befürchtung, dass mein Bildschirm-Schnappschuss-Programm das letzte Programm sein wird, welches je für OS/2 1.1 geschrieben wurde.

Das wirklich Schöne an PM Pentax ist aber, dass es auf allem gut läuft, von OS/2 1.1 (Modell 1988) bis zu OS/2 4.5 (Modell 2000). Es hat keine Probleme, einen 640x480-er Bildschirm mit 16 Farben einzufangen und mit einem 1280x1024-er Bildschirm mit High Color ebenso gut umgehen. Ich finde das ziemlich erstaunlich. Es klingt fast so, als hätte jemand weit voraus gedacht beim Entwurf des Presentation Managers.

Zum Vergleich sieht man hier wie Windows 2.1 ausgesehen hat:


Auch wenn es kaum zu glauben ist, benutzte Windows 2.1 sogar noch eine hässlichere Farbgebung als OS/2 1.1. Ich finde die Hintergrundfarbe wirklich entsetzlich. Aber man sieht, dass alle GUI-Controls sehr ähnlich oder identisch mit denen beim Presentation Manager waren. Kein Wunder wenn man bedenkt, dass beide GUIs bei Microsoft entwickelt wurden.

Trotzdem weiter zu anderen Schnappschüssen. Ähnlich wie in späteren Versionen gab es bei OS/2 ein Dateimanager-Programm:


Wie man sieht war es nicht wahrnehmbar anders als der Dateimanager, der mit späteren Versionen von OS/2 1.x kam. Auch das Control Panel war fast identisch zu den Versionen 1.2 und 1.3, nur dass es die hässlicheren GUI-Controls verwendete:


OS/2 1.1 war sogar mit einer Online-Hilfe ausgerüstet (aufrufbar durch nicht weniger als einen Druck auf F1!), aber die Hilfe-Anzeige war nicht die gleiche wie das Information Presentation Facility, welches mit OS/2 1.2 eingeführt wurde und bei weitem nicht so hilfreich (keine Suchfunktion zum Beispiel):


Es gab mit OS/2 1.1 noch keine Online-Bücher. Das musste bis 1.2 warten.

Vom heutigen Gesichtspunkt war OS/2 1.1 ziemlich langweilig. Es wurden zwei "Demonstrations"-Programme mitgeliefert - in der Absicht, es ein wenig weniger langweilig zu machen. Das eine davon war eine einfache Uhr mit Alarmfunktion:


Wie man sieht war es nicht sehr verspielt. Es war vermutlich dafür entwickelt, um ein paar Möglichkeiten des PM vorzuführen wie etwa die GUI-Controls und Zeitgeber. Das scheint heute trivial, aber das war es nicht 1988, als DOS noch der König der IBM-kompatiblen Welt war.

Das einzige wirklich hübsch aussehende Programm war die andere Demo namens Microsoft Bricks (Backsteine):


Es war eine GUI-Version des klassischen Breakout-Spiels. Es kam mit mehreren Hintergrund-"Backsteinmauern" um es interessanter zu machen. Was es für mich leider verdorben hat ist die Tatsache, dass es viel zu schnell lief auf meiner 300 MHz-Maschine (es war zu einer Zeit geschrieben, als 20 MHz-Maschinen waren das absolute obere Ende). Oder vielleicht werde ich auch nur alt und meine Reflexe sind nicht mehr was sie einmal waren; schwer zu sagen.

Eigenartigerweise kam OS/2 1.1 nicht mit einem GUI-Editor, nicht einmal einem einfachen, Notepad-ähnlichen. Immerhin gab es einen Editor - er hiess E.EXE und lief nur im Vollbildschirm-Textmodus und ähnelte ein wenig TEDIT:


In jedem Fall war OS/2 1.1 technisch gesehen ein sehr interessantes Stück Software, wenn schon nicht optisch. Ich glaube, es war fortschrittlicher als jedes andere Betriebssystem, welches damals für Personal Computers erhältlich war. Weder Windows noch MacOS waren technisch gesehen ein Vergleich - keines von beiden hatte Funktionen wie präemptives Multitasking, Multithreading oder virtuellen Speicher.

Aber am Ende zählen nicht die technischen Verdienste. OS/2 1.1 hatte gewiss auch Nachteile. Es unterstützte die grösseren Grafik-Standards (CGA, EGA, VGA), aber darüber hinaus war die Unterstützung eher dünn. Die Druckerunterstützung war ziemlich armselig - OS/2 1.1 unterstützte ein paar IBM-Drucker und Plotter und das war's dann. Kein HP, kein Epson, nichts davon. Aus irgendwelchen komischen Gründen haben sich gewisse Dinge seit damals kaum geändert...

Auch der Ressourcen-Hunger von OS/2 1.1 war für die Zeit ziemlich gross. Der empfohlene Speicherausbau war 3MB - was sicherlich viel war als andere PCs ein oder zwei MB hatten. Ausserdem verschlang es 8 MB auf der Festplatte - wiederum sehr viel in einer Zeit, als 40MB-Festplatten als gross galten.

Aber ebenso wie mit den anderen Versionen fand auch OS/2 1.1 einige glückliche Benutzer. Ein paar davon haben seither immer OS/2 benutzt (ich nicht: Ich bin OS/2 viel später begegnet, erst nachdem ich Windows für eine Weile durchlitten hatte).

Danksagung

Meine Beschreibung von HPFS basiert teilweise auf einem Artikel von Ray Duncan, der in der Ausgabe von September 1989 im Microsoft Systems Journal erschienen ist.

Der "Keim" zu meinem Bildschirmschnappschuss-Programm war eines der Beispielprogramme aus dem Buch Programming The OS/2 Presentation Manager von Charles Petzold, herausgegeben 1989 von Microsoft Press.

Mein Dank geht an die OS/2-Veteranen und Nicht-ganz-Veteranen, die mich mit dem Material versorgt haben, über das ich hier geschrieben habe. Es handelt sich um John Martin Alfredsson (Schweden), James E. Burke, Jr. (USA), Vitus Jensen (Deutschland), David W. Noon (USA), Paul Ratcliffe (Grossbritannien), Nino Solazzo (Italien?) and Illya Vaes (Niederlande) - wenn ich jemanden vergessen habe, möchte ich mich entschuldigen. OS/2 hat offensichtlich Anhänger auf dem ganzen Erdball gefunden. Besonderer Dank geht an Marc L. Cohen für einige interessante Insider-Informationen.

Barbarians Led by Bill Gates ist von Jennifer Edstrom (der Tochter von Pam Edstrom von Waggener Edstrom, der Werbefirma von Microsoft) und von Marlin Eller (einem ehemaligen Microsoft-Programmierer, einem der ursprünglichen Windows-Entwickler) geschrieben. Dieses Buch wurde 1998 von Henry Holt herausgegeben. Interessanterweise wurde das Buch sowohl als pro-Microsoft als auch als anti-Microsoft kritisiert, was meiner Meinung nach die Wahrscheinlichkeit stark erhöht, dass es wahr ist.

The Microsoft File: The Secret Case Against Bill Gates ist von Wendy Goldman Rohm und herausgegeben 1998 von Random House (war 1998 ein schlechtes Jahr für Microsoft oder wie?). Dieses Buch ist offensichtlich nicht geschrieben worden, um den Ruhm von Bill Gates und Microsoft zu mehren und enthält viele kleine schmutzige Geheimnisse.

Alle Informationen sind nach meinem besten Wissen korrekt. Ich habe nie aktiv OS/2 1.x benutzt, sodass sicherlich Auslassungen und Fehler im Text vorkommen. Wenn jemand in den 1.x-Zeiten schon dabei war und noch Zusatzinformationen hat (oder irgendeine interessante alte Software), dann sind Kommentare an <MichalN@prodigy.net> jederzeit willkommen.


[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org