Cultura e giochiVero o mito?
1985
L'Amiga non fu il primo a fare due cose contemporaneamente
Si dice che l'Amiga sia stato il primo home computer con il multitasking; non lo fu, ma lo aveva di serie fin dal primo modello, cosa che il Macintosh avrebbe avuto solo molti anni dopo.
In partel'OS-9 sul Tandy Color Computer (1983) e il QDOS del Sinclair QL (1984) facevano già multitasking preemptive; l'Amiga non fu il primo, ma lo aveva di serie fin dal primo modello.
È una frase che si sente spesso: l'Amiga, del 1985, fu il primo home computer con il multitasking. Il nucleo di AmigaOS, Exec, scritto da Carl Sassenrath, faceva davvero multitasking preemptive, in cui è il sistema, e non il programma, a decidere quando gira ciascun task, e lo faceva in appena 256 KB di memoria [1]. Ma c'è chi ci era arrivato prima.
Alla fine del 1983 Radio Shack vendeva già per il suo TRS-80 Color Computer l'OS-9 Level I, di Microware. Il manuale Tandy spiegava: "Multitasking significa che due o più task (programmi) possono girare contemporaneamente. Per esempio, con OS-9 puoi stampare rapporti e inserire dati allo stesso tempo" [2]. Lo stesso manuale descrive il tempo diviso in fette tra un tick e l'altro del clock, e a ogni tick il sistema può sospendere un processo e passare il turno a un altro [2]. OS-9 usava uno scheduling preemptive a priorità, e il CoCo, economico e molto venduto, fu la macchina su cui divenne più noto [3].
Il primo multitasking domestico non fu dell'Amiga: girava già su un Tandy del 1983 e su un Sinclair del 1984.
Nel gennaio 1984 Sinclair presentò il QL, con il QDOS di Tony Tebby in ROM: un sistema multitasking preemptive, che Sinclair annunciava come il primo su un computer di largo consumo [4]. Le consegne cominciarono solo ad aprile, ma anche così il QL arrivò più di un anno prima dell'Amiga [4]. Uno dei proprietari di un QL fu un giovane finlandese di nome Linus Torvalds, che apprezzava proprio il multitasking preemptive della macchina [4].
Ciò che l'Amiga portò fu il multitasking preemptive di serie fin dal primo giorno, il 23 luglio 1985: un nucleo di soli 13 KB, con priorità e scambio di messaggi tra i task, molto efficiente perché tutti condividono lo stesso spazio di memoria [1]. C'era un però: senza protezione della memoria, un programma maleducato poteva disattivare il multitasking a piacimento e bloccare tutto il resto [1].
Per avere un'idea del vantaggio, il Macintosh ebbe MultiFinder solo nell'agosto 1987, e anche allora con multitasking cooperativo, in cui ogni programma deve cedere il processore di sua spontanea volontà. Il Mac classico non ebbe mai il multitasking preemptive: arrivò solo con Mac OS X [5].
Fonti
- [1]Exec (Amiga) · Wikipedia
- [2]OS-9 Level I, manual do TRS-80 Color Computer · Tandy / Radio Shack (Internet Archive), 1983
- [3]OS-9 · Wikipedia
- [4]Sinclair QL · Wikipedia
- [5]MultiFinder · Wikipedia