lunedì 23 maggio 2011

Apple e la smania di cambiare

Si è molto parlato tra ipotesi, conferme e smentite, del passaggio di Apple all'architettura ARM; di seguito le mie considerazioni pubblicate la scorsa settimana su Punto-Informatico:

Uno dei miei primi articoli su Punto Informatico riguardava la (allora) remota possibilità che Apple adottasse i processori x86 per i suoi Mac. Correva l'anno 2000 (per la precisione novembre) e le voci circolavano già da qualche mese: c'erano vari motivi per considerarlo poco più di un rumors, ma il sentore era "che Apple volesse tenersi pronta per ogni possibile evenienza; qualora Motorola e IBM non fossero in grado di assicurare processori al passo coi tempi"... E così è stato, anche se ci sono voluti 5 anni prima dell'annuncio ufficiale e i primi Mac Intel sono arrivati solo l'anno successivo, nel 2006.

Nonostante gli attuali accordi molto stretti con Intel (basti pensare a OpenCL, al recente Thunderbold, o ad alcune forniture date da Intel in anteprima esclusiva ad Apple), l'impressione è che l'adozione di precessori x86 sia stata per Apple una forzatura, una sorta di scelta obbligata dovuta al fatto che con il PowerPC non si poteva più andare avanti, e nel 2005 non c'erano alternative valide, sia dal punto di vista economico, sia dal punto di vista della sicurezza per gli sviluppi futuri. Senza considerare il fatto che Apple era al lavoro su una versione x86 di Mac OS X fin dal 2000 (probabilmente dalla versione 10.1), quindi la via più breve per uscire dal vicolo cieco del PowerPC era già segnata.

Inoltre è anche vero che Apple, a torto o a ragione, non si è mai fatta grossi problemi a stravolgere l'architettura delle proprie macchine, sia a livello hardware che a livello di sistema operativo: personalmente ho vissuto l'era del passaggio da 68k a PowerPC, da Mac OS "classic" a Mac OS X, e da PowerPC ad Intel. In tutti questi passaggi Apple ha sempre fornito tutti gli strumenti per effettuare una transizione indolore, o quasi: basti pensare alle librerie Carbon (usate per il facilitare la transizione del sistema operativo) o a Rosetta, il "traduttore" di codice PowerPC in istruzioni x86. Nonostante le possibili difficoltà di transizione (soprattutto per gli sviluppatori), il cambio di architettura ha sempre consentito ad Apple di scegliere la migliore alternativa presente sul mercato, e il taglio dei ponti col passato (che avviene dopo il canonico periodo di transizione) permette di concentrarsi sul nuovo e di ottimizzarlo al meglio, cosa che non sempre avviene con gli altri sistemi.

Alla luce di tutto ciò, e considerando che una versione, seppur "ridotta", di Mac OS X già è in funzione da diversi anni sui processori ARM di iPhone e iPad, i rumors che vogliono Apple in procinto di abbandonare l'architettura x86 per affidarsi completamente ad ARM meritano quantomeno di essere presi in considerazione per analizzarne la fattibilità.

Andando indietro nel tempo di qualche anno, nel 2008 Apple rilevò P.A. Semi, una società specializzata nella progettazione di processori il cui know how è stato utilizzato per sviluppare il SoC Apple A4 del primo iPad e dell'iPhone 4, nonché il più recente Apple A5 di iPad 2 (e, presumibilmente, del prossimo iPhone). Sia A4 che A5 sono basati su architettura ARM (rispettivamente Cortex A8 e Cortex A9), così come erano ARM i processori dei precedenti iPhone. Possiamo quindi affermare che Apple si è fatta una discreta esperienza con questo tipo di processori, ed è dotata di una struttura in grado di progettare processori customizzati basati su architettura ARM. Un Mac con processore ARM potrebbe far tornare Apple sulla via dell'hardware proprietario, progettato e realizzato su misura in base alle proprie esigenze, e capace di tenere lontano i cosiddetti hackintosh.

C'è però un "piccolo" problema: nonostante alcuni esempi eccellenti, la potenza di questi processori è ancora bel lontana da quello che possiamo trovare normalmente sui desktop attuali, anche se le cose potrebbero cambiare drasticamente il prossimo anno, quando avremo a che fare con i processori ARM Cortex A15: prestazioni quintuplicate, supporto per un Terabyte di memoria, clock che si spinge fino a 2,5 GHz, e possibilità di avere fino ad 8 core. Lanciarsi a capofitto già da oggi su questa strada potrebbe essere un azzardo, ma l'interesse è sicuramente alto, e non è un caso che pure Microsoft abbia annunciato il supporto a questa famiglia di processori per il prossimo Windows 8 (anche se in tal caso lo scopo potrebbe essere quello di trovare una via di sbocco sul fiorente mondo dei tablet, più che puntare ad un nuovo modello di architettura per i PC).

Superato lo scoglio delle prestazioni hardware, bisognerebbe valutare anche il lato software, a partire dal sistema operativo. Attualmente Apple ha speso molto nell'ottimizzazione di Mac OS X per i processori Intel, ma del resto la stessa cosa l'aveva fatta anche all'epoca dei PowerPC: vi dice nulla Altivec? Non dimentichiamo inoltre che Apple sta già lavorando da diversi anni al codice per processori ARM, quindi in tal caso il passaggio potrebbe essere meno indolore (e lo stesso si può dire per gli sviluppatori). Tutto sommato questo potrebbe non essere un grosso problema anche perché, a mio avviso, non si parla di un cambiamento troppo imminente, quindi è giusto che il sistema attuale sia ottimizzato al meglio per l'hardware attuale, hardware che potrebbe accompagnarci ancora per diversi anni.

Infine, se l'adozione di processori ARM sui Mac può essere visto come un avvicinamento del mondo iOS/iPhone verso MacOSX/Mac, non dimentichiamo che questo avvicinamento sta già avvenendo per altre vie: il Magic Trackpad ha portato le gestures anche sulle macchine desktop (sui nuovi iMac è possibile sceglierlo in alternativa al mouse), l'App Store è già un realtà su tutti i Mac, e l'imminente Lion erediterà diverse caratteristiche di iOS, come Launchpad o le applicazioni a tutto schermo (che, per inciso, non sono esattamente la stessa cosa di una finestra a pieno schermo, funzione che su Mac OS è sempre stata controversa). L'avvicinamento tra i due sistemi avviene in entrambi i sensi, visto che anche iOS eredita poco per volta alcune caratteristiche di Mac OS X, e pare (video non ufficiale) che la prossima versione del sistema per iPhone e iPad avrà una sorta di Exposé per la selezione delle applicazioni aperte.

In realtà, nonostante queste piccole somiglianze, iOS e Mac OS X sono ancora molto distanti (basti pensare che iOS non ha nemmeno un file manager ed è per molti versi "dipendente" da Mac OS X e da iTunes) e potrebbero volerci ancora diversi anni per avvicinare i due mondi: ammesso e non concesso che l'intenzione di Apple sia questa. Se vogliamo guardare alle coincidenze numeriche, iOS cresce al ritmo di una nuova major release ogni anno, e si attende la presentazione delle versione 5 nel corso della WWDC di giugno. Mac OS X invece, dopo lo sprint dei primi anni, sta crescendo al ritmo di una nuova relese ogni due anni, e per l'estate è atteso l'arrivo di Lion: Mac OS X 10.7. Di questo passo tra 4 anni saranno arrivati entrambi alla "versione 9", coincidenza propizia affinché il passo successivo sia la creazione di un iOS-X...

Al di là di questa considerazione volutamente fantasiosa, un periodo di 4 o 5 anni potrebbe essere il lasso di tempo necessario per valutare la possibile adozione dell'architettura ARM su tutta la linea di prodotti Apple (e non sono sui portatili, come supposto da qualcuno), nonché per preparare i soliti strumenti di transizione per utenti e sviluppatori. Un paio d'anni fa raccontavo di come l'informatica fosse una scienza relativamente giovane e di come le modalità di interazione tra l'uomo e il computer potrebbero evolversi anche in relazione al nuovo hardware. Oggi c'è chi dice che il PC tradizionale è sulla via del tramonto e che sarà soppiantato dai tablet touch e dalla loro interfaccia di immediata comprensione.

Pur senza essere così drastici (sono convinto che il PC tradizionale dirà la sua per molti anni ancora), è evidente che il mondo dell'informatica stia cambiando, il settore mobile (inteso come smartphone e tablet, e non solo come notebook) sta diventando sempre più importante, Microsoft si allea con un produttore di telefoni e Google, dopo aver sfondato con Android, si appresta a lanciare Chrome OS: un sistema operativo basato su un browser e su applicazioni web (tra parentesi potenzialmente già pronto anche per tablet con processori ARM).

Apple, dopo aver aperto le danze di questo nuovo mondo (prima con iPhone, e poi con iPad) potrebbe inaugurare una nuova tendenza hardware, oppure potrebbe restare l'unica a scegliere una via alternativa e proprietaria. Non voglio dare per scontato che Apple passerà ad ARM, perché la situazione attuale è molto diversa rispetto a quella che la portò da PowerPC ad Intel: nel 2005 il PowerPC era fermo nello sviluppo già da diverso tempo, mentre Intel stava prendendo la rincorsa per i nuovi processori multi-core; oggi Intel è ancora all'avanguardia, mentre ARM sta tentando di raggiungerla.

Detto questo, se i ritmi di crescita di ARM saranno davvero quelli promessi, credo che l'idea stuzzicherà molte teste importanti di Apple, se non l'ha già fatto. Potrebbe anche succedere il contrario, ovvero che Apple passi ad un'architettura x86-Intel anche sui device iOS (come ipotizzato da qualche analista): al momento però gli indizi sono tutti nell'altra direzione, soprattutto se guardiamo all'offerta di processori per il mondo mobile, quindi questa possibilità sembra più remota rispetto alla convergenza su ARM. Avere gli stessi processori su tutti i tipi di macchina potrebbe, in ogni caso, realmente facilitare la convergenza dei due sistemi operativi, anche se questa strada è forse più difficile rispetto a quella del cambio di processore.

Nessun commento:

Posta un commento