Come molti retronostalgici ricorderanno, lo sbarco di Windows su architettura ARM non rappresenta un fatto inedito nella storia dell’azienda co-fondata da Bill Gates. Windows in effetti esiste da molto prima che x86 fosse l’architettura dominante su tutti i segmenti del mercato informatico ed è vero il contrario, sebbene l’ascesa a OS dominante di Windows sia avvenuta contestualmente con la marcia trionfale di x86.
Se ad ispirare la nostalgia informatica che ci accomuna è la straordinaria varietà di hardware e software caratteristica dell’era pre-PC, la molteplicità delle architetture supportate dal primo OS professionale di Microsoft costituisce uno spunto di grande interesse: si tratta forse dell’ultimo colpo di coda di un’epoca che si apprestava a terminare sotto il peso del duopolio Wintel. Tuffiamoci dunque in questi ultimi, frenetici giorni della policroma preistoria informatica in questo nuovo appuntamento con la rubrica che ormai da quasi 3 anni allieta il nostro venerdì pomeriggio.
Mentre la famiglia Windows Consumer, seguendo la strada tracciata da MS-DOS, ha sempre vissuto in simbiosi con l’architettura creata da Intel, con Windows NT – l’OS che avrebbe portato Microsoft a competere sul terreno saldamente presidiato dalla famiglia di OS *nix – si apre invece il tema del supporto parallelo a più architetture.
I primi anni ’90 vedevano in effetti la compresenza, nella fascia di mercato professionale, di una varietà caleidoscopica di architetture, prevalentemente RISC: MIPS, i860, Alpha (di cui abbiamo parlato qui), 68k, PowerPC (versione “consumerizzata” della famiglia di CPU RISC di IBM), SPARC.
Ciascuna di queste architetture godeva di una presenza più o meno significativa nel mercato server/workstation in cui Microsoft si apprestava ad entrare, ed era integrata in sistemi su cui girava qualche variante di Unix.
A spingere Gates verso il mercato server/workstation erano vari fattori, fra cui la giustificabile esigenza di diversificare – dopo la chiusura delle parentesi Xenix e OS/2 – entrando in una nicchia di mercato molto ricca, su cui peraltro era possibile testare nuove tecnologie, sfruttando a fondo le capacità delle nuove generazioni di CPU a 32bit senza il peso della retrocompatibilità.
Quello delle workstation era in effetti, malgrado Unix, un mercato molto compartimentato e rigido, tuttavia caratterizzato da un tasso di innovazione frenetico. In effetti negli anni in cui Microsoft tentava l’assalto alla diligenza server/workstation, anche IBM con OS/2 (dopo l’addio di MS) metteva in atto la stessa manovra. Lo stesso Steve Jobs, ancora fresco di “addio coatto” ad Apple, si dedicava al segmento workstation con un approccio innovativo, che risultò nella famiglia di computer NeXT – il cui OS stabilì le fondamenta di OS X – basati su CPU della famiglia Motorola 68k.
Per inciso, è interessante ricordare che negli stessi anni, alcuni produttori di sistemi RISC tentavano l’assalto al mercato PC con soluzioni rivedute e corrette al fine di rientrare nei parametri di prezzo e funzionalità tipici di quel mercato. Impresa vana, per diversi motivi: costi comunque troppo alti in un mercato il cui mainstream assisteva ai continui cali di prezzo tipici dell’era dei cloni; incompatibilità col software esistente e fondamentale inadeguatezza di Unix nel seguire Windows e Mac OS sulla strada della semplificazione dell’interazione uomo-macchina.
Torniamo a Windows NT, la cui incompatibilità con il resto della famiglia Windows Bill Gates liquidò con “se non sai a che ti serve vuol dire che non ti serve”.
La prima versione, NT 3.1 (1993), fu sviluppata su piattaforma i860 e resa disponibile per Alpha, MIPS, x86, come pure la versione successiva, NT 3.5 (1994). Fu con la versione 3.51 (1995) che arrivò il supporto all’architettura PowerPC (integrata secondo le specifiche pc-like PReP) e fu pure sperimentato, senza seguito commerciale, il supporto a SPARC e all’oscura architettura Clipper di Intergraph.
NT4 (1996), basato sull’interfaccia del neonato Windows 95, mantenne la compatibilità con tutte le architetture menzionate, tagliando il ramo PPC nel 1997 a causa di una marcata flessione della domanda di quei computer. Il supporto all’architettura MIPS terminò con la versione 4.0, mentre quello dell’architettura Alpha arrivò ad SP6a ed oltre (sempre a 32 bit), con un discreto parco software professionale a disposizione.
Arriviamo al 1999: Microsoft sta finalizzando lo sviluppo di Windows NT5, alias Windows 2000, che è già giunto alla versione RC2. L’architettura Alpha è ancora pienamente supportata (Build 2128) ma Compaq, con un colpo di mismanagement da manuale, taglia il budget destinato al supporto di Windows 2000 in un tentativo maldestro e fuori tempo di riportare tutto il focus su Unix.
L’acquisizione di Compaq da parte di HP, partner di Intel nello sviluppo dell’architettura Itanium, sigillerà le sorti di Alpha (benché si sospettasse già che Itanium non avrebbe scalfito la leggendaria superiorità prestazionale di Alpha) distruggendo anche l’ultima, flebile occasione per la nascita di un PC non x86.
Già perché fin dal 1997 Alpha aveva a listino un processore adatto al mercato PC (21164PC per l’appunto), mentre in casa Microsoft lo sbarco del kernel NT nella famiglia di OS consumer si avvicinava a grandi passi: con tutte le difficoltà e gli adattamenti del caso, una linea workstation Alpha basata su Windows XP/2003 a 64 bit, avrebbe pur sempre potuto vedere la luce.
Così non fu e Microsoft, che aveva già iniziato a sviluppare un OS NT-based a 64 bit per Alpha, virò in direzione IA-64, alias Itanium, dando vita a una versione dedicata di Windows XP oltre che ad alcune versioni della linea Windows Server. Oltre un decennio di vendite sottomultiple rispetto alle sempre meno ottimistiche proiezioni di HP e Intel hanno condotto MS a terminare il supporto a Itanium con la versione 2008 R2 della famiglia di OS server, la cui sovranità tornerà integralmente ad x86. Almeno fino al 2014, data entro la quale ARM prevede di lanciarsi nel mondo server.