Atari TOS

TOS (Akronym für The Operating System, seltener Tramiel Operating System, nach dem damaligen Atari-Chef Jack Tramiel) ist ein Computerbetriebssystem. Es wurde für die Heimcomputerserie Atari ST von 1985 bis 1994 entwickelt.

TOS war bei seinem Erscheinen 1985 vollständig in GEM, eine von Digital Research entwickelte und für ihre Zeit sehr komfortable grafische Benutzeroberfläche, integriert. Es bestand somit für Endanwender keine unmittelbare Notwendigkeit, den Rechner auf Betriebssystemebene zu bedienen.

 

Geschichte

TOS sollte ursprünglich auf CP/M-68K (einem Betriebssystem von Digital Research) aufbauen und über eine grafische Oberfläche ähnlich dem Mac namens GEM (ebenfalls von Digital Research) verfügen, die parallel dazu für 8086-basierte Rechner entwickelt wurde. Aufgrund vieler Mängel von CP/M-68K wurde dies als Fundament für TOS verworfen, lediglich die Prototypen des Atari ST, die auf der CES gezeigt wurden, arbeiteten mit CP/M-68K. Stattdessen entschied Atari, das noch in der Entwicklung befindliche GEMDOS, ebenfalls von Digital Research, zu verwenden, das leistungsfähiger schien und deutlich besser auf den Betrieb einer grafischen Oberfläche ausgerichtet war als CP/M-68K[1]. Tatsächlich war GEMDOS den reinen DOS-Systemen MS-DOS und DR-DOS sehr ähnlich und verwendete ein kompatibles Diskettenformat. Aufgrund des enormen Zeitdrucks wurde TOS nicht rechtzeitig fertiggestellt und musste auf frühen Atari 520ST (1. Serie) von Diskette geladen und im RAM ausgeführt werden. Später wurde das Betriebssystem aber im ROM integriert.

 

Versionen

TOS 1.0x

Auch „ROM-TOS“ genannt. Das TOS 1.00 wurde unter großem Zeitdruck entwickelt und gilt als stark fehlerbehaftet und extrem langsam. Fehler in der Speicherverwaltung des GEMDOS führte nach ausdauerndem Betrieb gerne zum Absturz und die Festplattenunterstützung war nur sehr rudimentär. TOS 1.00 war die erste TOS-Version, die im ROM ausgeliefert wurde, vornehmlich in Rechnern mit der Bezeichnung 260ST und 520ST, bzw. 520STm in Form von 6 × 32KB EPROMs.

tos1.jpg

TOS 1.02

Auch „BLiTTER-TOS“ genannt, da es um die Routinen zur Verwaltung des Grafik-coprozessors „BLiTTER“ erweitert wurde. Einige grobe Fehler der Vorgängerversion wurden beseitigt, allerdings blieb dieses TOS weit hinter den Erwartungen zurück. Trotzdem erlangte es den höchsten Verbreitungsgrad aller TOS-Versionen, da es in den beliebten Rechnern 1040STf/520STf, bzw. 1040STfm/520STfm zum Einsatz kam, ebenfalls in 6 EPROMs a 32KB, oder, selten in 2 × 96KB.

TOS 1.04

Auch „Rainbow-TOS“ genannt, weil das Atari-Logo im „Desktop-Info“-Dialog in Regenbogenfarben gehalten war. In dieser Version waren die gröbsten Fehler der Vorgänger beseitigt und viele Grafikroutinen beschleunigt. Einige Eigenheiten der grafischen Oberfläche wurden verbessert, wie z. B. die Dateiauswahlbox oder die Möglichkeit, Dateien zu verschieben. Allerdings nicht fehlerfrei, und so bot Atari viele kleine Patches an, die idealerweise von Festplatte bei jedem Start geladen werden sollten. Inoffiziell galt diese Version lange als die „letzte“ TOS-Version für Atari ST-Computer und wurde vor allem in Rechnern der Mega- bzw. Mega ST-Reihe eingesetzt, wiederum in 6 × 32KB oder 2 × 96KB.

TOS 1.06

Diese Version entsprach im Wesentlichen der Version TOS 1.04, unterstützte jedoch die Hardware-Erweiterungen des STE und kam dementsprechend nur in diesen zum Einsatz. Zwar wird die Hardware des STE kaum durch zusätzliche Routinen unterstützt, die vorhandenen wurden aber entsprechend erweitert. Außerdem richtet diese Version als erste beim Start die sogenannte „Cookie-Jar“ ein, in der Daten über den Rechner zugänglich waren, z. B. ob es sich um einen ST oder STE handelt, ob eine FPU vorhanden etc. Nur in 520STE und 1040STE eingesetzt, aufgrund der neuen Größe (256KB) immer in 2 × 128KB.

TOS 1.62

Trotz des scheinbar großen Versionssprungs nur eine minimale Erweiterung gegenüber TOS 1.06, welches einen deutlich sichtbaren Fehler hatte: An einem Farbmonitor startete der Rechner immer in der niedrigen Auflösung, gleich, welche der Benutzer eingestellt hatte. TOS 1.62 behob vor allem diesen Fehler. Nur in 520STE und 1040STE eingesetzt, ebenfalls in Form von 2 × 128KB EPROM-Chips.

TOS 3.0x

Die unerwartete Versionsnummer geht auf die Bezeichnung „TOS030“ zurück, die für das TOS in den ersten Atari-TT-Prototypen verwendet wurde. Ursprünglich war der Atari TT als Unix-Computer mit AT&Ts System IV geplant, bevor Atari das eigene Betriebssystem auf diesen Computer portierte, vermutlich auf Basis von TOS 1.06, erweitert um Betriebssystemfunktionen zur Ansteuerung der neuen Hardware im Atari TT. In den weiteren Schritten der Entwicklung des TOS 3.0x wurde vor allem die Benutzeroberfläche verbessert: Verknüpfungen zu Dateien können auf dem Desktop abgelegt werden, Icons nachgeladen und individuell zugewiesen werden, Datenträger durchsucht werden und Tastaturkürzel zugewiesen und verwendet werden. Drei Versionen sind verbreitet worden: 3.01 als erste Variante, gefolgt von 3.05 und 3.06. Neben dem Atari TT wurden auch die Atari-Klone Medusa und Hades mit TOS 3.0x-Varianten bestückt.

TOS 2.0x

TOS 2.0x wurde mit dem MegaSTE und somit zeitlich nach TOS 3.0x eingeführt. Die erste Version war 2.05, da diese von TOS 3.05 für den Atari TT abgeleitet worden war. Es übernahm den erweiterten Desktop von TOS 3.05 und einige Betriebssystemfunktionen, um prinzipiell zum Atari TT kompatibel zu sein, sofern dessen CPU, Grafikauflösung oder Speicherausbau nicht explizit benötigt wurde. TOS 2.05 war auf den Gebrauch in STE-Computern beschränkt und gerade dies löste Proteste bei Atari-Usern, Software-Entwicklern und Fachhändlern aus, die forderten, dieses deutlich modernere und freundlichere Betriebssystem auch in anderen ST- und STE-Computern einsetzen zu können. Daraus entstand TOS 2.06, das nicht nur auf allen ST- und STE-Computern lief, sondern außerdem von IDE-Festplatten booten konnte und automatische Stepraten-Umschaltung für HD-Diskettenlaufwerke bot. Da TOS 2.06 mit 256 KB größer war als TOS 1.00 bis TOS 1.04 mit 192 KB und damit auch einen anderen Adressraum belegte, war eine direkte Nachrüstung in existierenden ST-Computern nicht möglich und erforderte Adapterplatinen, die von verschiedenen Herstellern, oft auch in Verbindung mit IDE-Schnittstellen, angeboten wurden. In Atari 520STE- und 1040STE-Computern konnte das TOS einfach durch Austausch der EPROM-Chips aktualisiert werden.

tos206.gif

TOS 4.0x

Neben den Anpassungen an die leistungsfähigere Hardware des Falcon und der Unterstützung des DSP bot TOS 4 erstmals animierten 3D-Look, Farbicons, Pop-ups und Untermenüs. Diese Erweiterungen konnten dank eigener GEM-Bibliotheken (WinDom, SysGem, faceVALUE) auch unter älteren TOS-Versionen genutzt werden. Erstmals in einem TOS sind die verschiedenen Sprachversionen in einem ROM zusammengefasst, die Einstellungen werden aus dem NVRAM ausgelesen.

Ein unerwartetes Comeback erlebte TOS 4 auf dem Atari-Klon Milan der Firma Milan Computersysteme. Neben der Verwendung eines moderneren Compilers (GNU C-Compiler) und Anpassungen an die veränderte Hardware (68040 CPU) gibt es in späteren Versionen (TOS 4.08) sichtbare Änderungen in Form von runden Optionsfeldern (Radiobutton) und eckigen Auswahlkästen (Checkbox). Diese rein optischen Neuerungen waren schon vor dem Milan-TOS in diversen GEM-Bibliotheken eingebaut worden. TOS 4.08 ist nur auf dem Milan lauffähig. An der Umsetzung und Erweiterung von TOS 4 auf den Milan war Atari nicht beteiligt.

Zeitlich vor dem Milan-TOS erschien noch inoffiziell TOS 4.92, welches als Beta-Version auf diversen Internet-Seiten kursiert. Auffälligste Änderungen: Zusatzprogramme (Accessories) können nun jederzeit nachgeladen werden, und die Fenster der Benutzeroberfläche sind minimierbar.

Tos492.png

MultiTOS

Ein unvollständiges Multitasking war schon in TOS 1 bis 4 möglich (Start sogenannter „Accessories“). Andere Hersteller (MultiGEM, Mag!X) boten hingegen schon echtes Multitasking an. Schließlich schloss Atari auf und veröffentlichte MultiTOS. Es war neu entwickelt und basierte nicht auf TOS 1–4, sondern auf dem von Eric Smith entwickelten MiNT, das in der Lage war, mehrere TOS-Programme ohne grafische Benutzeroberfläche auszuführen, und der grafischen Oberfläche MultiAES, die den parallelen Einsatz von GEM-Programmen erlaubte. Sie war der Benutzeroberfläche des TOS 4.0x sehr ähnlich, brachte aber Inkompatibilitäten mit sich.

MultiTOS bot präemptives Multitasking und Speicherschutz (mit dem 68030 mit Hilfe der PMMU), die Benutzeroberfläche entsprach weitgehend dem Falcon-TOS. Besonders der (abschaltbare) Speicherschutz stellte viele Atari-Programme vor Probleme, ein großer Kritikpunkt war außerdem die niedrige Geschwindigkeit: Ein sinnvoller Einsatz war erst auf Rechnern mit 68030-CPU möglich.

MultiAES 4.1, eine fehlerbereinigte und beschleunigte Version der GEM-Komponente in MultiTOS, wurde nicht mehr offiziell als Update angeboten, das quelltextoffene MiNT wird hingegen bis heute weiterentwickelt.

Aufbau

BIOS

Das BIOS stellt die unterste Schicht des Betriebssystems dar und abstrahiert einen großen Teil der zugrunde liegenden Hardware. Das BIOS legt dabei die Grundlage für den Betrieb eines CP/M oder CP/M-ähnlichen Systems, das heißt, es verfügt über fundamentale Funktionen zum Lesen und Schreiben von Sektoren, Einlesen oder Ausgeben von Zeichen, einfache Verwaltung von Speicher und Zeitgebern. Das BIOS wird innerhalb von TOS komplett von GEMDOS gekapselt und soll daher von Applikationsentwicklern nicht direkt verwendet werden. 

XBIOS

Ähnlich wie das BIOS abstrahiert das XBIOS die Hardware auf eine sehr fundamentale Weise, bedient dabei aber nicht das GEMDOS. Im Wesentlichen bietet das XBIOS Funktionen zur Verwaltung von Hardware, die nicht von GEMDOS/BIOS genutzt wird aber vorhanden ist, wie z. B. Klangerzeugung (X32), Setzen der Farbpalette, Verwaltung von Tastatur, Maus, Auflösung, Bildschirmspeicher etc. 

GEMDOS

Das GEMDOS ist Systemen wie MS-DOS oder DR-DOS sehr ähnlich. Es bietet Funktionen zur Speicherverwaltung, Dateiverarbeitung mit hierarchischem Filesystem, fundamentale Verwaltung von Prozessen, Konsolen-ein- und -ausgabe über Kanäle etc. Zwar bietet GEMDOS eine fundamentale Prozessverwaltung, ist aber nicht multitaskingfähig. Daher wurde das GEMDOS in MultiTOS durch MiNT ersetzt. 

VDI

Die Grundlage der grafischen Benutzeroberfläche GEM. Das Virtual Device Interface abstrahiert komplexere Ein- und Ausgabegeräte, wobei der Schwerpunkt – insbesondere innerhalb des TOS – auf Bildschirmausgaben liegt. Im Wesentlichen besteht das VDI aus einem (oder prinzipiell mehreren) Gerätetreibern und einem sogenannten Graphical Device Operating System (GDOS), das im TOS nur sehr rudimentär vorhanden ist. Letztlich bietet das VDI einen Katalog von Funktionen zum Zeichnen von grafischen Objekten (sogenannten Primitives) wie z. B. Linien, Kreise, Rechtecke, mit verschiedensten Attributen wie z. B. Farben, Füllmustern, Liniendicken, sowie zur Ausgabe von Zeichen mit variablen Zeichensätzen und -attributen. 

AES

Die Application Environment Services (AES) stellen eine Bibliothek von Funktionen für Applikationen zur Verfügung. Diese reichen von der Applikationsverwaltung selbst (Initialisierung, Betrieb, Deinitialisierung) über Ereignisverwaltung (z.B. Mausklick, Timer, Mitteilungen, etc.) hin zur Fenster- und Menüzeilenverwaltung, Dialogboxen und Dateiauswahlboxen. Das AES selbst ist sozusagen „unsichtbar“, wird aber von GEM-Programmen genutzt und verleiht diesen das charakteristische Verhalten und Aussehen. Im Gegensatz zum restlichen TOS unterstützt das AES, wenn auch nur rudimentär, kooperatives Multitasking. Da das restliche TOS dies aber nicht erlaubt, kann TOS nur je ein Programm starten, aber gleichzeitig mehrere kleine Hilfsprogramme, sogenannte Accessories, bedienen. In MultiTOS wird das sogenannte MultiAES nachgeladen, das diese Einschränkungen nicht mehr hat.