Cultura e jogosVerdade ou mito?
1985
O Amiga não foi o primeiro a fazer duas coisas ao mesmo tempo
Diz-se que o Amiga foi o primeiro computador doméstico com multitarefa; não foi, mas trazia-a de série desde o primeiro modelo, coisa que o Macintosh só teria muitos anos depois.
Em parteo OS-9 no Tandy Color Computer (1983) e o QDOS do Sinclair QL (1984) já faziam multitarefa preemptiva; o Amiga não foi o primeiro, mas trazia-a de série desde o primeiro modelo.
É uma frase que se ouve muito: o Amiga, de 1985, foi o primeiro computador doméstico com multitarefa. O núcleo do AmigaOS, o Exec, escrito por Carl Sassenrath, fazia de facto multitarefa preemptiva, em que é o sistema, e não o programa, quem decide quando cada tarefa corre, e fazia-a em apenas 256 KB de memória [1]. Mas houve quem lá chegasse antes.
No fim de 1983, a Radio Shack já vendia para o seu TRS-80 Color Computer o OS-9 Level I, da Microware. O manual da Tandy explicava: "Multitarefa quer dizer que duas ou mais tarefas (programas) podem correr ao mesmo tempo. Por exemplo, com o OS-9 pode imprimir relatórios e introduzir informação ao mesmo tempo" [2]. O mesmo manual descreve o tempo dividido em fatias entre tiques do relógio, e em cada tique o sistema pode suspender um processo e passar a vez a outro [2]. O OS-9 usava escalonamento preemptivo por prioridades, e o CoCo, barato e muito vendido, foi a máquina onde ficou mais conhecido [3].
A primeira multitarefa doméstica não foi do Amiga: já corria num Tandy de 1983 e num Sinclair de 1984.
Em janeiro de 1984, a Sinclair apresentou o QL, com o QDOS de Tony Tebby em ROM: um sistema de multitarefa preemptiva, que a Sinclair anunciava como o primeiro num computador de grande consumo [4]. As entregas só começaram em abril, mas mesmo assim o QL chegou mais de um ano antes do Amiga [4]. Um dos donos de um QL foi um jovem finlandês chamado Linus Torvalds, que gostava precisamente da multitarefa preemptiva da máquina [4].
O que o Amiga trouxe foi a multitarefa preemptiva de série desde o primeiro dia, 23 de julho de 1985: um núcleo de apenas 13 KB, com prioridades e troca de mensagens entre tarefas, muito eficiente porque todas partilham o mesmo espaço de memória [1]. Havia um senão: sem proteção de memória, um programa mal-educado podia desligar a multitarefa à vontade e bloquear o resto [1].
Para ter uma ideia do avanço, o Macintosh só ganhou o MultiFinder em agosto de 1987, e mesmo assim com multitarefa cooperativa, em que cada programa tem de largar o processador por vontade própria. O Mac clássico nunca teve multitarefa preemptiva: só a teve com o Mac OS X [5].
Fontes
- [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