La rivoluzione mancata di AmigaOS

Il periodo che va dalla fine degli anni ’90 ai primi anni del nuovo millennio è stato caratterizzato da rivoluzioni epocali nell’ambito dell’information technology, coi sistemi operativi in particolare che hanno subito profondi mutamenti.

Dopo più di 3 lustri e svariate promesse non mantenute, Apple decide alla fine di dare il benservito a MacOS, traghettando l’affezionata utenza verso la nuova pietra miliare rappresentata da OS X, s.o. solido, scalabile, e (relativamente) sicuro basato su microkernel Mach ed ecosistema FreeBSD.

Microsoft, dal canto suo, punta tutto su Windows NT, apprezzato in ambito professionale e militare, dandogli una nuova interfaccia grafica, API aggiornate, e l’ultima versione delle DirectX. Windows 2000 rappresenta una succosa anteprima, con XP che segna il distacco definitivo e il nuovo corso dalla famiglia 9x.

Commodore, uno dei grandi attori che s’era conteso la torta del mercato consumer e professionale negli anni ’80 fino alla prima metà dei ’90, era già fallita nel ’94, ma a seguito di acquisizioni e cambi di mano è riuscita a sopravvivere, e i vari management succedutivisi si sono posti il problema di portare innovazione, cullando il sogno del grande rilancio.

Quello delle macchine dotate di hardware custom, propugnato fin dalla prima acquisizione di ESCOM, si è rapidamente dissolto a causa del terreno perso rispetto a PC e Mac, ma soprattutto all’incredibile impulso del progresso tecnologico che all’epoca ha portato a una corsa sfrenata delle CPU e, ancor più, delle schede video (con la definizione del nuovo termine GPU, a far da contraltare alle prime).

Soltanto tre anni dopo arriva un segnale concreto da Gateway 2000, quarto proprietario di “Amiga (Technology)” (marchio e brevetti legati a questa piattaforma), con l’annuncio (nell’ottobre 1997) dello sviluppo di AmigaOS 3.5 (da parte di Haage & Partner), poi rilasciato esattamente due anni dopo, che però porta soltanto alcuni miglioramenti, sebbene venga finalmente superato il limite dei 4GB per gli hard disk e introdotto uno stack TCP/IP (l’era di internet è già iniziata da un pezzo).

Inoltre si tratta sostanzialmente di un aggiornamento di AmigaOS 3.1 (peraltro necessario), quindi ancora per macchine Motorola 68000 (in realtà il minimo richiesto è un 68020, tagliando quindi fuori le macchine più vecchie).

Tutto ciò quando già da tempo Apple era passata ai PowerPC, Motorola aveva “ucciso” i 680×0 (relegati al settore dei microcontrollori), e anche per le macchine Amiga c’era un florido mercato di schede acceleratrici basate sulla “nuova via” (i PowerPC, appunto).

Si tratta, comunque, di un contentino per l’utenza Amiga ancora affezionata, nonché affamata di novità per la piattaforma che continua ad adorare, perché con Gateway il futuro di Amiga non è più legato alla piattaforma che verrà poi usualmente chiamata “Classic”, ma a quella in seguito definita come “NG” (“New Generation”).

Infatti già agli inizi del ’98 la linea è chiara: il futuro non è rappresentato dai 68000, ma da CPU ben diverse, e non è affatto detto che siano proprio i PowerPC:

Whatever CPU AmigaDOS was ported to it would run faster if the CPU was faster. […] Third party AmigaDOS licenses are free to port to Alpha, PPC, MIPS etc.

Da sottolineare l’abbandono dello sviluppo di nuove macchine:

Amiga, Inc. will not be making new machines. New machines will come from companies who have a license from Amiga International.

Ancor più importante è, però, il fatto che lo sviluppo del nuovo “sistema (operativo) Amiga” è non soltanto delegato all’esterno, ma addirittura basato su tecnologie “aliene” al mondo Amiga e… preesistenti a esso.

Sempre nello stesso periodo circolano insistenti voci sull’adozione di BeOS quale s.o., da sfruttare come “base” di un AmiBeOS, peraltro facendo uso inizialmente di macchine con l’odiata (ancora oggi, da frange di fanatici integralisti) architettura x86. D’altra parte Be Inc. è uno dei partner di Amiga Inc., coi quali sta collaborando per arrivare a definire il nuovo corso di AmigaOS.

Scaricata Be Inc, la partnership annunciata successivamente con QNX Software Systems per utilizzare il meno noto QNX, sempre come base del prossimo Amiga NG, è la dimostrazione di quanto la linea seguita sia ben distante da quella “classica” (anche perché Amiga Inc. non ha più la forza per tirare fuori da sola un prodotto che abbia le caratteristiche citate all’inizio dell’articolo):

The new OS has a programming model that is similar to the Classic Amiga’s, but also sufficiently different. In particular, the new OS features processes and threads (a “thread” is like an Amiga Process/Task), virtual memory and a very clean microkernel architecture.

Mentre l’emulazione, o un’apposita scheda, è la strada scelta quale mezzo per fruire del vecchio software:

we are investigating either an “Amiga Classic PCI card” or an “Amiga Classic Emulator”

Per le macchine, invece, ci si affida… ai PC:

The development system is pretty much a standard PC but with high-end graphics, audio and video cards. We chose the PC platform based on cost and availability of technology. […] No Windows, Unix, or anything else is needed, only a PC running the new Amiga OS. We call that AmigaOS 5 in case you’re wondering.

Ma anche la partnership con QNX è destinata a chiudersi bruscamente, e Amiga Inc. decide di puntare questa volta su Linux quale fondamento di quello che chiama Amiga Operating Environment (AmigaOE):

Using the Linux OS as a foundation for our Amiga OE allows us to leverage a significantamount of available software drivers and utilities.

Scegliendo pure Java come linguaggio & piattaforma di riferimento per lo sviluppo delle applicazioni (AmigaObjects è il framework usato per lo sviluppo):

We have chosen Java (™ Sun Microsystems) as our primary programming language for portable applications based on AmigaObjects (of course, C and C++ will also be supported for native MCC applications).

Un’altra scelta ampiamente opinabile è l’adozione di X-Windows per la gestione del sottosistema grafico:

At the lowest level (managing the bits on the screen), we are using the latest Linux X Windows window system.

Da tutto ciò appare evidente che il nuovo corso è decisamente diverso da quanto ha contraddistinto AmigaOS (in particolare), con scelte addirittura diametralmente opposte (kernel monolitico contro microkernel; protocollo X-Window contro gestione “diretta”, o quasi, dell’hardware; Java contro assembly / C / BASIC potenziati). Chi ha avuto la fortuna di lavorare con Amiga, non può certo riconoscervisi; nella maniera più assoluta.

C’è da dire che una situazione simile è quella in cui si sono trovati gli utenti Mac, con MacOS che era un s.o. completamente diverso da OS X. Ma è pur vero che gli sviluppatori Mac erano già abituati a non dover accedere all’hardware (che il Mac II aveva dimostrato potesse essere molto diverso dai primi Mac) e ad affidarsi alle librerie di Apple per lo sviluppo delle applicazioni.

Con l’acquisizione di Amiga Inc. da parte di Amino arriva un ulteriore cambiamento, in quanto l’azienda decide di tornare con QNX per la nuova piattaforma Amiga (chiamata A.Q.U.A.), ma successivamente stringe un’alleanza con Tao Group, con la quale il nuovo sistema Amiga acquisisce la capacità di girare su altri s.o. (hosted):

The Amiga OS is capable of being self-hosted, and sitting on top of other operating systems. A single application is capable of running on X86, Power PC, M.core, ARM, StrongArm, MIPs, SH3/4, and others. In a hosted environment the new Amiga runs on versions of Linux, Windows 95,98/NT, Windows CE, OS/9, QNX4, and others to be announced.

Questa volta il nome del prodotto è diventato AmigaDE (Desktop Environment), mentre le future macchine, nonché le espansioni per quelle vecchie, prendono il nome di AmigaOne (non legate esclusivamente ai PowerPC).

Nel frattempo, sempre grazie al lavoro di Haage & Partner, viene rilasciato AmigaOS 3.9, a fine 2000, che rappresenta l’ultima versione del s.o. per la linea “classic”:

we did not have any plans for another version of the Classic OS […] No matter what happens, AmigaDE is still moving ahead quickly

OS 3.9 porta con sé diverse funzionalità legate principalmente all’interfaccia grafica e alla fruizione di contenuti, oltre a un browser web e una nuova shell. Molto interessante è l’uso di AHI per l’audio: il primo passo per slegarsi completamente dall’hardware dei “classic”.

Nonostante i lavori su AmigaDE, il vecchio AmigaOS viene comunque rivitalizzato dall’annuncio della versione 4.0, un porting dedicato ai sistemi AmigaOne basati su PowerPC. Amiga Inc. decide, quindi, di continuare su due strade, che però in futuro sarebbero destinate a convergere su un’unica piattaforma:

AmigaOS4 will see the first introduction of the AmigaDE for existing Amigans, with it running co-operatively on top of the Operating System, and then slowly being integrated until, with the release of AmigaOS5, both will effectively merge to become one

In particolare, AmigaOS4 sarebbe dovuto girare in un ambiente isolato all’interno del nuovo AmigaOS 5 (basato, ovviamente, su AmigaDE):

AmigaOS4 sandbox

Nonostante gli annunci e i cambi di partnership sparsi nell’arco di quasi 4 anni, che potevano far pensare al classico vaporware, AmigaDE è un prodotto concreto, che viene presentato da Sharp, altro partner di Amiga Inc., al Business Show di Tokyo sotto forma di sistema hosted sulla sua piattaforma Zaurus.

Che non si tratti di “fuffa”, è evidente anche dalla successiva commercializzazione di altre soluzioni hosted per Windows, Linux, Palm, PocketPC, set-top-box (anche da Nokia!), ecc., sempre basate su Amiga DE, che permettono di far girare le applicazioni sviluppate per quest’ultima.

Nel frattempo a fine del 2001 sono iniziati i lavori di AmigaOS 4, di cui questa volta si occupa Hyperion, dopo che Haage & Partner è stata defenestrata (ma ormai i cambi di partnership non sono certo una novità per Amiga Inc.).

L’ultima notizia, recuperata, di AmigaDE è del 23 giugno del 2002, a cui non segue altro, fino alla pubblicazione della prima release di AmigaOS 4, ad aprile 2004, riservata a sviluppatori e beta tester, mentre quella finale (per gli utenti) arriverà dopo due anni e mezzo, a dicembre 2006.

Da qui in avanti l’unica piattaforma a rimanere è proprio quella di AmigaOS 4, basata sui sorgenti del vecchio AmigaOS 3.1 e in parte di 3.5 e 3.9 (Haage & Partner non ha rilasciato ad Amiga Inc. tutti i sorgenti di queste due versioni da lei sviluppate).

Quella che in tutto questo tempo era stata la “pietra di scarto”, il passato da eliminare o far girare in emulazione, alla fine è diventata il futuro di AmigaOS.

Purtroppo e per questo motivo AmigaOS 4 non può certo configurarsi come una rivoluzione. Mentre MacOS e Windows hanno saputo rinnovarsi realmente, potendo contare su una base solida, sicura, e scalabile, OS4 continua a trascinarsi tutte le problematiche che affliggevano i sistemi “classic” (sebbene portando dei miglioramenti, come il resource tracking, ma utilizzabile soltanto “su richiesta”).

Memoria protetta (anche se è stata implementata quella virtuale), separazione fra kernel e userspace e fra i processi, supporto ai 64 bit, 3D avanzato / moderno, SMP, sono soltanto un miraggio di cui ancora oggi si aspetta l’arrivo con le “prossime versioni” (con la 4.2 si parla genericamente di supporto al multicore, ma pendono seri dubbi sulla retrocompatibilità col software esistente, di cui abbiamo già parlato in parte in un altro articolo).

D’altra parte la nuova piattaforma Amiga non era certo rappresentata dal vecchio AmigaOS, come abbiamo appurato, ma da soluzioni che erano state cercate, e in parte realizzate, per risolvere proprio i problemi di cui abbiamo discusso finora.

Con l’AmigaOne X1000 già commercializzato, gli acquirenti si aspettano molto da AmigaOS 4.2, supporto al secondo core in primis visto che la CPU (a 64 bit) ne ha due a disposizione.

Vedremo se e in che modo sarà possibile tutto ciò, ma finora non si scorgono prospettive di miglioramento riguardo a tutte le caratteristiche citate in precedenza, causa un lentissimo sviluppo del s.o. da quando è finito nelle mani di Hyperion (sono quasi 11 anni ormai).

A titolo di esempio, basti pensare che dopo tutto questo tempo AREXX, un componente molto utilizzato in AmigaOS, non è mai stato riscritto in versione PowerPC o comunque in un linguaggio diverso dall’assembly 68000 della versione originale, che continua quindi a girare in OS4 sotto “emulazione” (sfruttando Petunia, il compilatore JIT 68000 -> PowerPC).

Un altro caso abbastanza eloquente è lo stack USB 2.0, messo finalmente a disposizione solamente ad agosto dello scorso anno (a 7 anni di distanza dalla presentazione di AmigaOS 4), per non parlare della nuova shell che si attende ormai da parecchio.

Per cui rimangono forti dubbi che la situazione possa migliorare, se non in tempi geologici, vista l’enorme difficoltà che Hyperion ha già soltanto nel mettere a disposizione i promessi driver per l’X1000 (e chissà se si vedrà mai un supporto concreto al coprocessore XCore XS1, esaltato dalla propaganda aziendale).

Di seguito un elenco di link (all’incirca in ordine cronologico) per chi volesse recuperare le fonti utilizzate per l’articolo, o approfondire attingendo a ulteriori dettagli:

AmigaOS 3.5 – October 1997
Which CPU will be the processor in future Amigas? – 18 January 1998
The Evolution of Amiga NG – 1998
AmiBeOS – April 1998
Kickoff the Future with Amiga – 15 May 1998
Amiga Announces Partnership with QNX for Next Generation Amiga Architecture – 1998
AmigaOS 5 Q&A – 23 November 1998
Linux Chosen as Amiga Kernel – 1999
Amiga OperatingEnvironment, AmigaObject – 16 July 1999
AMIGA Technology Brief – 16 July 1999
We are not planning to offer hardware devices – 17 September 1999
Amino – 31 December 1999
Amiga-derived operating systems and devices – 2000
Amiga Incorporated and Tao sitting in a tree – 8 January 2000
Amiga Classic, Amiga New – 14 January 2000
Amiga Inc. launch the Amiga SDK (Amiga HOSTED) – 3 June 2000
AmigaDE, Amiga OS 3.5, AmigaOne – 28 September 2000
AmigaOS 3.9 – 21 October 2000
Eyetech AmigaOne 1.0 Prototype – October 2000 – September 2001
We did not have any plans for another version of the Classic OS – November 2000
AmigaOS 3.9 – 4 December 2000
AmigaDE, AmigaOne Partners – 23 December 2000
Enigma Amiga Life – AmigaOS 3.9, d’Amiga, AmigaDE – Gennaio 2001
AmigaOS Technical Update Part 1 – 12 April 2001
AmigaOS Technical Update Part 2 – 12 April 2001
Sharp demonstrates AmigaDE applications at Business Show 2001 in Tokyo Japan – 25 May 2001
AmigaOS 5 – 16 June 2001
AmigaDE Player and AmigaDE Shop – 2001
AmigaOne – 21 October 2001
Amiga announces first release of its AmigaDE Player – 24 October 2001
Amiga to Deploy AmigaDE on Infotainment Device for the Home – 2 February 2002
Amiga, Inc. announces the Amiga Anywhere – 11 March 2002
AmigaOS 4 Hardware – 12 April 2002
AmigaOS The Amiga is Back – 7 June 2002
AmigaOS 4, AmigaDE, Amiga Anywhere, AmigaOne, Amithlon – 23 June 2002
AmigaOS 4.0 Developer Pre-release goes gold – 16 April 2004
AmigaOS 4.0 The Final Update available – 24 December 2006

Aggiungo altri link scritti da un noto appassionato amighista, Gianfranco Gignina, da cui emerge anche un interessamento di Amiga Inc. per MorphOS come piattaforma per il futuro AmigaOS, per non imbarcarsi nel porting per PowerPC del vecchio sistema operativo.

Amiga – Storia del più personal tra i computer:

Il declino di un sogno
Amiga.. promesse, trattative, contraddizioni e cancellazioni
I figli di Amiga (AmigaOne, Pegasos e AROS)

Press ESC to close