# The Operating System

Le TOS (The Operating System) est le système d'exploitation des ordinateurs de la famille des Atari ST. Il a été développé conjointement par Atari et Digital Research, lorsqu'il s'est avéré que CP/M était beaucoup trop lent.
Le TOS ayant pris son essor avec le ST sous la présidence de Jack Tramiel, il a souvent été surnommé à tort (de façon humoristique) le Tramiel Operating System.

## Fonctionnement

Le système se décompose en plusieurs couches. La plupart de ces couches sont dans la ROM qui équipe les ordinateurs Atari, mais les autres couches sont des extensions qui doivent être chargées depuis un disque lors du démarrage. Le TOS inclut le GEM (Graphical Environment Manager) qui le dote d'une interface conviviale pour manipuler l'ordinateur (gérer les fichiers et démarrer des programmes).

### Les couches présentes en ROM
#### BIOS (Basic Input/Output System)

    Cette couche est responsable de l'accès aux périphériques communs aux différents modèles d'ordinateurs (test de disponibilité, lecture et écriture, ...).

#### XBIOS (eXtended BIOS)

    Cette couche permet d'exploiter les périphériques spécifiques au modèle concerné (par exemple les fonctions de gestion du DSP ne sont disponibles que sur le Falcon).

#### GEMDOS (GEM Disk Operating System)

    Cette couche s'occupe de l'accès aux fichiers, aux périphériques, à la mémoire, et de la gestion des processus.

#### Line-A

    C'est une collection de routines graphiques de bas niveau écrite en assembleur. Ces routines ne doivent pas être appelées directement par une application mais sont utilisées en interne par le système.

#### VDI (Virtual Device Interface)

    Couche d'abstraction matérielle pour tout ce qui a trait à l'affichage. Cette couche est une composante du GEM.

#### AES (Application Environment Services)

    Cette couche prend en charge l'interface graphique et la gestion de l'interaction avec l'utilisateur (menus, fenêtres, boîtes de dialogues, champs de formulaires, évènements utilisateur, etc.). L'AES s'appuie sur la VDI pour réaliser l'affichage. Cette couche est une composante du GEM.

#### Le bureau GEM

    C'est une application lancée au démarrage de l'ordinateur, qui sert d'interface graphique pour manipuler l'ordinateur

### Les extensions
#### MetaDos

    cette couche permet de connecter à l'Atari des périphériques non supportés par GEMDOS, comme les lecteurs de CD-ROM et streamer DAT.

#### GDOS (Graphics Device Operating System)

    cette couche permet l'utilisation de plusieurs polices de caractères, le support de hautes résolutions et introduisait les métafichiers, un format de fichiers décrivant le dessin d'une page. Cette couche est une composante du GEM.

### MultiTOS

Le TOS stocké dans la ROM n'est pas un système multitâche. MultiTOS est une version multitâche pré-emptif du TOS installé sur le disque dur, composé d'un noyau appelé MiNT et d'une version multitâche de l'AES.

## Les versions du TOS
### Les versions officielles

Jusqu'à ce qu'Atari arrête la fabrication des ordinateurs, le TOS a évolué au gré des corrections et de la production de nouvelles machines.
| Nom | Version | Sortie | Machines | Surnom |
| TOS | 1.0 | 20.11.1985 | ST | ROM TOS |
| TOS | 1.02 | 22.04.1987 | STF, Mega ST | Mega TOS |
| TOS | 1.04 | 06.04.1989 | STFM ,MegaST, STacy (Portable) | Rainbow TOS |
| TOS | 1.06/1.60 | 29.07.1989 | STE | STE TOS |
| TOS | 1.62 | 01.01.1990 | STE | STE TOS v2 |
| TOS | 2.05 | 05.12.1990 | Mega STE | Mega STE TOS |
| TOS | 2.06 | 14.11.1991 | Mega STE | Mega STE TOS |
| TOS | 3.01 | 29.08.1990 | TT | TT TOS |
| TOS | 3.05 | 05.12.1990 | TT | TT TOS |
| TOS | 3.06 | 24.09.1991 | TT | TT TOS |
| TOS | 4.02 | | Falcon | |
| TOS | 4.04 | 08.03.1993 | Falcon | |
| TOS | 4.92 | 1994 | Falcon | |
| MultiTOS | 1.0 | | Falcon | |

### Les évolutions

| Version | Taille | Format | Taille des partitions maximale de disque dur | Taille des disquettes pris en charge | Format de disque compatible MS-DOS | Logo Atari au démarrage |
| 1.0 | 192Ko | Disquette, ROM | 256Mo | 720Ko | | |
| 1.02 | 192Ko | ROM | 256Mo | 720Ko | | |
| 1.04 | 192Ko | ROM | 512Mo | 720Ko | Oui | |
| 1.06/1.6x | 256Ko | 2 ROM | 512Mo | 720Ko | Oui | |
| 2.05 | 256Ko | 2 ROM | 512Mo | 720Ko | Oui | |
| 2.06 | 256Ko | 2 ROM | 512Mo | 1.44Mo | Oui | Oui |
| 3.0x | 512Ko | 4 ROM | 512Mo | 1.44Mo | Oui | Oui |
| 4.0x | 512Ko | ROM | 1Go | 1.44Mo | Oui | Oui |

### EmuTos

Article détaillé : EmuTOS