# Atari TOS

L'Atari TOS è un sistema operativo commerciale prodotto dell'Atari Corporation tra il 1985 e il 1993 dedicato alla linea di home/personal computer Atari ST, al personal computer Atari TT030 e all'home/personal computer Atari Falcon030, tutti della stessa Atari Corporation.

## Storia

La prima versione dell'Atari TOS, la 1.0, fu del 1985 pubblicata assieme all'Atari 520ST, il primo computer della linea Atari ST ad essere immesso sul mercato. All'epoca della sua commercializzazione l'Atari TOS era di serie sui computer a cui è dedicato. Era inoltre disponibile da solo per permettere, agli utenti dotati di una precedente release, il passaggio ad una release più recente.
L'ultima release dell'Atari TOS, la 4.04, è invece del 1993. Venne dostituito dall'Atari MultiTOS, sistema operativo dedicato però esclusivamente all'Atari TT030 e all'Atari Falcon030.

## Descrizione

Il TOS combinava il desktop environment GEM della Digital Research con il DOS GEMDOS. Il TOS permetteva un indirizzamento della memoria lineare (dove la CPU può indirizzare la memoria in maniera diretta), aveva un formato del disco simile a quello dell'MS-DOS, supportava il MIDI ed una variante dello SCSI denominata ACSI nelle versioni più recenti. Nei primi modelli di Atari ST il TOS veniva avviato da floppy mentre in quelli successivi il TOS era presente in ROM.
Il TOS comprendeva i seguenti componenti:
* Desktop - L'interfaccia principale, caricata dopo l'avvio;
* GEM - Graphical Environment Mangager, l'interfaccia grafica sviluppata da Digital Research, con i seguenti moduli:
** AES - Application Environment System, il gestore delle finestre;
** VDI - Virtual Device Interface, solo i driver per lo schermo ed altri driver caricati usando il GDOS;
* GEMDOS - GEM Disk Operating System
* BIOS - Basic Input/Output System
* XBIOS - Xtended BIOS
* Line-A - Chiamate di basso livello alle funzioni grafiche. Obsoleto.
Quelle che seguono erano estensioni del TOS che erano caricate separatamente:
* GDOS - Graphics Device Operation System
* AHDI - Atari Hard Disk Interface (driver per gestire un disco rigido)
Il multitasking reale non era supportato nativamente dal TOS, però esso permetteva, così come accadeva sui PC IBM dell'epoca, di caricare nel sistema dei programmi di tipo Terminate and Stay Resident (TSR), ossia che dopo il caricamento del software il controllo tornava al sistema operativo, che però manteneva il programma in esecuzione in memoria, permettendo di simulare un multitasking di tipo cooperativo. Nel 1993 Atari realizzò MultiTOS, una versione del TOS con supporto nativo al multitasking con prelazione.

### Desktop

Il desktop del TOS utilizzava delle icone per rappresentare i file ed i dispositivi ed usave le finestre e le finestre di dialogo per rappresentare le informazioni. Il file "DESKTOP.INF" conteneva le impostazioni delle finestre, la posizione delle icone e le icone dei lettori presenti: in alternativa, veniva usata la configurazione standard con 2 icone floppy ed un'icona per il cestino.
Nelle versioni più recenti del TOS fu introdotto il file "NEWDESK.INF" per conservare la configurazione del desktop.
I file eseguibili erano identificati dalla loro estensione:
* *.ACC - accessorio del desktop - caricato automaticamente.
* *.APP - applicazione (usato raramente).
* *.PRG - programma eseguibile - poteva riferirsi ad un programma GEM.
* *.TOS - programma "TOS" che non usa il GEM - simile ai file .EXE e .COM dei PC - ma che gira in un'Interfaccia a riga di comando (CLI): il desktop puliva lo schermo, disattivava il puntatore grafico del mouse ed attivava il cursore testuale.
* *.TTP - "TOS Takes Parameters" - veniva aperta una finestra di dialogo dove si potevano passare al programma dei parametri.
Sulle prime versioni del sistema i programmi TOS (ma non quelli GEM) potevano essere avviati automaticamente inserendoli in una cartella denominata "AUTO. A partire TOS 1.4 potevano essere impostate per l'avvio in automatico anche applicazioni GEM dal pannello "Install Application". I programmi con l'estensione .TTP non potevano essere avviati in automatico. Gli accessori del desktop erano inseriti nella cartella radice del driver di default e caricati automaticamente.

## Release
### TOS 1

* 1.0 (ROM TOS)
    Computer su cui è disponibile di serie la release: 520ST, 1040ST
    Supporto di memoria: inizialmente floppy disk, in seguito 2 o 6 ROM per un totale di 192 kB
* 1.02 (MEGA TOS)
    Computer su cui è disponibile di serie la release: 520ST, 1040ST, Mega 2, Mega 4
    Supporto di memoria: 2 o 6 ROM per un totale di 192 kB
* 1.04 (RAINBOW TOS)
    Computer su cui è disponibile di serie la release: 520ST, 1040ST, Mega 2, Mega 4, Stacy
    Supporto di memoria: 2 o 6 ROM per un totale di 192 kB
* 1.06 (STE TOS, Revision 1)
    Computer su cui è disponibile di serie la release: 520STE, 1040 STE
    Supporto di memoria: 2 ROM per un totale di 256 kB
* 1.62 (STE TOS, Revision 2)
    Computer su cui è disponibile di serie la release: 520STE, 1040 STE
    Supporto di memoria: 2 ROM per un totale di 256 kB

### TOS 2

* 2.02
    Computer su cui è disponibile di serie la release: Mega STE
* 2.05 (Mega STE TOS)
    Computer su cui è disponibile di serie la release: Mega STE
    Supporto di memoria: 2 ROM per un totale di 256 kB
* 2.06 (ST/STE TOS)
    Computer su cui è disponibile di serie la release: 520ST, 1040ST, 520STE, 1040STE
    Supporto di memoria: 2 ROM per un totale di 256 kB
* 2.07
* 2.08

### TOS 3

* 3.01, 3.05, 3.06 (TT TOS)
    Computer su cui è disponibile di serie la release: Atari TT030
    Supporto di memoria: 4 ROM per un totale di 512 KB

### TOS 4

* 4.00, 4.01, 4.02, 4.04
    Computer su cui è disponibile di serie la release: Atari Falcon030
Versioni 4.9x (4.92, 4.98) del TOS sono state sviluppate dall'Atari ma mai rese disponibili ufficialmente agli utenti finali. Tali versione sono facilmente reperibili anche se la loro distribuzione resta illegale.

## Sistemi operativi alternativi

Dopo l'abbandono dello sviluppo del TOS da parte dell'Atari, nel corso degli anni sono state create due alternative open source:
* FreeMiNT (precedentemente chiamato "MiNT");
* EmuTOS.