DI RECENTE ACCOMAZZI...
CERCA
» Ricerca avanzata
MAILING LIST

Se vuoi iscriverti alla mailing list di Luca Accomazzi inserisci qui la tua mail:

Vuoi ricevere i messaggi immediatamente (50 invii / giorno) o in differita e in gruppo
(due invii / giorno)?

» Vuoi saperne di più?

Il futuro del Mac

Macintosh con Intel, addio al PowerPC, Rosetta, Mac OS X "Leopard"... le notizie uscite a giugno dalla bocca di Steve Jobs, in occasione dell'annuale conferenza mondiale degli sviluppatori Apple (WWDC 05) sono certamente clamorose, addirittura storiche. Macworld le ha riportate a caldo nel numero di luglio scorso. Oggi, a bocce ferme, possiamo approfondire e capire meglio la portata e le conseguenze del cambiamento. Prima di cominciare, però, una premessa fondamentale. Apple, da sempre, vive per cambiare il mondo una persona alla volta: ma è pur sempre una multinazionale americana che, per esistere, deve fatturare e macinare profitti. Nel trimestre fiscale chiuso poco prima degli annunci, Apple ha venduto merci per 3,24 miliardi di dollari e fatto utili per 290 milioni. Permettetemi di scomporre il fatturato in un modo un po’ particolare e tutto mio. Eccolo: portatili 17,31%; calcolatori da scrivania 28,68%; musica (iPod e Apple iTunes Music Store) 39,77%; software (OS X, iLife, Final Cut…) 6,1%; tutto il resto (monitor, accessori eccetera) 8,14%. Questi numeri sono fondamentali per capire i motivi delle scelte di Jobs e dei suoi manager.


Il problema Velocity Engine (Altivec)

Steve Jobs ha sempre sostenuto che il processore PowerPC è superiore per concezione ai prodotti Intel. Anni fa venne anche realizzata una divertentissima campana pubblicitaria: in uno spot si vedeva una lumaca con il logo "Intel Inside" e in un altro il tipico stereotipo di uomo Intel, un tecnico vestito nella tuta argentea necessaria per produrre microprocessori, veniva bruciato dal PowerPC. Oggi Jobs esalta Intel: nella conferenza del 6 giugno, il fondatore di Apple ha mostrato un grafico "performance/watt" che darebbe per vincitori i processori della famiglia Pentium; di ben quattro volte. Qualcuno si chiede se Apple mentisse in precedenza o se racconti fandonie ora, ma la situazione è complessa e non si esaurisce in uno slogan.
Paragonare due processori molto diverso è complesso, così come non è possibile confrontare direttamente un furgoncino e un'auto sportiva due posti, perché ciascun veicolo presenta vantaggi e svantaggi sull'altro. Ciò detto, è parere di chi scrive che oggi il PowerPC G5 sia significativamente superiore per prestazioni al concorrente Pentium 4. Né Jobs, per la verità, ha sostenuto il contrario: ha invece detto che a suo parere tra un anno o due, massimo tre, la situazione sarà capovolta. Qualche entusiasta pensa addirittura che Intel abbia "piani segreti", di cui Jobs è partecipe, per nuovi processori molto performanti che saranno presentati nei prossimi dodici mesi. La verità è molto più prosaica.
Il grafico "performance/watt" di Jobs mostra una semplice verità che si fa ogni giorno più scomoda per Apple: è impossibile montare un G5 sui Powerbook. Il processore IBM scalda troppo e consuma troppa energia. Per una casa che ricava tutte quel fatturato dalla vendita di portatili, la tentazione di trovare altrove una soluzione è semplicemente irresistibile. Aggiungete i piani — tutt'altro che segreti — di Intel al mix. Il due giugno la casa di Paul Otellini ha annunciato che Yonah, futuro processore per portatili, potrà lavorare per sei ore con una carica della batteria e conterrà al suo interno due unità di elaborazione separate e indipendenti. La personale scommessa di chi scrive è che i primi Mac con Intel saranno portatili, e che le macchine da scrivania seguiranno ben più tardi.
Veniamo alle cattive notizie. I Mac di oggi sono significativamente superiori ai PC di oggi nella gestione del video, dell'audio, della grafica (checché ne dicano certi fan di Intel, quelli di sempre e i convertiti dal sei giugno) grazie alla presenza in tutti i processori G4 e G5 usati da Apple del sottosistema Altivec, che Apple ha talvolta chiamato "velocity engine".
La storia, sin qui, in sintesi: la maggiore differenza tra Pentium e Pentium II stava nel fatto che quest’ultimo aggiunse al suo repertorio una serie di 57 istruzioni chiamate MMX (multimedia extensions), studiate dai suoi progettisti per aiutare i personal computer nella gestione di animazioni e suoni. Nella gestione dell’audio e del video, la massa di dati da gestire è davvero massiccia e per questo motivo diventano utili istruzioni singole che lavorano contemporaneamente su molti dati. Questo tipo di istruzioni specializzate si chiamano SIMD, che significa Single Instruction, Multiple Data. Le istruzioni MMX alla prova dei fatti si rivelarono mal studiate e così Intel rimise mano alla questione e dotò la generazione successiva, Pentium III, di un nuovo gruppo di settanta istruzioni SIMD a sessantaquattro bit, chiamato SSE (streaming SIMD extensions). Dal canto loro, nel passaggio da PowerPC G3 a G4 i progettisti inserirono una batteria di 162 nuove istruzioni SIMD a centoventotto bit chiamata Altivec che rende il codice audio-video di circa quindici volte più veloce sul processore più moderno rispetto al suo genitore. Per esempio, una singola istruzione Altivec può sommare tra di loro sedici numeri interi con altri sedici e memorizzare i sedici risultati da qualche parte: è ovvio che uno strumento del genere permette a un programmatore di risparmiare quindici istruzioni rispetto a quanto dovrebbe fare su un processore non-SIMD. È anche evidente che il PowerPC è di molto superiore ai prodotti Intel da questo punto di vista: e chi non ci crede può fare tutte le prove che desidera sul prototipo di Macintosh con Intel che Apple sta consegnando agli sviluppatori da giugno scorso. Nonostante il processore Pentium da 3 GHz, le prestazioni audio e video sono misere rispetto a quanto siamo abituati ad attenderci da un Mac.
Intel è dichiaratamente al lavoro su una nuova generazione di istruzioni SIMD: se e quando appariranno in un prodotto concreto possiamo attenderci che Apple lo adotti fulmineamente e introduca in Mac OS X una serie di stratagemmi per sfruttarle a fondo.


La differenza tra Rosetta e un comune emulatore

Rosetta, VirtualPC, e l'emulatore 68030 che Apple creò al tempo del passaggio da Macintosh a Power Macintosh (con Mac OS 7.1.2) sono tecnologie analoghe ma non identiche. In tutti e tre i casi, lo scopo è consentire a un processore di eseguire applicazioni scritti per un processore completamente diverso.
Microsoft VirtualPC permette al processore PowerPC di eseguire il codice macchina del processore Intel; mentre Rosetta fa esattamente l'opposto. C'è però una grossa differenza nel metodo utilizzato per realizzare l'obiettivo, e Apple spera che questo comporti un consistente vantaggio prestazionale per Rosetta e i prossimi Macintosh con Intel.
VirtualPC prende in considerazione il programma da emulare un'istruzione alla volta; e per ogni istruzione Intel esegue una o più istruzioni PowerPC dallo scopo equivalente. È come un interprete simultaneo che, avendo di fronte un libro scritto in arabo, lo legge con gli occhi e pronuncia parole in italiano per farsi capire da un pubblico di persone nate in Italia (che sono i processori del Macintosh).
Rosetta è un ricompilatore che lavora in tutt'altro modo: è come un traduttore che prende il libro in arabo e nottetempo lo traduce per iscritto, una volta per tutte, in italiano. Quando poi si trova di fronte alla platea italiana legge la traduzione eseguita in precedenza. Questo metodo ha qualche svantaggio e un enorme vantaggio. Il primo svantaggio è nel maggior uso di memoria, che secondo Apple aumenta del 25% circa (per esempio, un programma realizzato nel 2004 per Macintosh su PowerPC e che richiede 10 MB di RAM per girare, grazie a Rosetta funziona anche sui Macintosh con Intel del 2006, ma richiedendone 12,5). Il secondo svantaggio sta nel fatto che, prima di iniziare l'esecuzione di una applicazione, quando facciamo doppio clic, è necessario aspettare che Rosetta termini la sua traduzione. Chi ha seguito la dimostrazione di Steve Jobs il 6 giugno 2005, via Internet, non ha osservato questo ritardo perché la traduzione era già stata eseguita (Mac OS X mantiene in memoria le applicazioni dopo averle eseguite, sino al riavvio o sinché non ha nuovamente bisogno di quella memoria per altri scopi, e questo vale anche per le applicazioni tradotte da Rosetta).
Il vantaggio è nella velocità finale che si ottiene: tutti noi sappiamo che un traduttore simultaneo di lingue umane ottiene risultati peggiori rispetto a quelli di un interprete, e lo stesso vale nell'informatica. Per rendercene conto, immaginate due cuochi che stiano preparando un piatto di lasagne strato per strato. Entrambi hanno a disposizione un libro di ricette in arabo. Il primo cuoco si fa leggere e tradurre una parola alla volta le istruzioni della ricetta e prepara uno strato di pasta, uno di ragù, uno di pasta, uno di ragù... Il secondo cuoco si fa preparare la traduzione in italiano ed è dannatamente più efficace quando arriva al secondo strato perché ha già imparato cosa fare e procede speditissimo, scorrendo rapidamente le istruzioni perfettamente comprensibili.
Secondo gli autori di Rosetta (una azienda californiana di 65 persone chiamata Transitive Technologies), le prestazioni che si ottengono sono sino al settantacinque per cento di quello che avremmo visto sul Mac-PowerPC-2004. Il prototipo consegnato da Apple agli sviluppatori è caratterizzato però da prestazioni molto più modeste. Perché? La tecnologia Rosetta è tutt'altro che definitiva, e migliorerà certamente prima del rilascio al pubblico. Lo stesso vale per l'hardware usato. È anche possibile che le previsioni di Apple siano troppo ottimistiche, ma questo lo scopriremo solo a giugno 2006.
Rosetta funziona esclusivamente per convertire le applicazioni native Mac OS X scritte con i sistemi Carbon e Cocoa: non potrà venire usata per far funzionare l'ambiente Classic (che probabilmente vede la sua ultima apparizione in Tiger su PowerPC), per i device driver (o KEXT) e per i moduli delle Preferenze di Sistema. A proposito dei quali…


Si tratta di una problematica tutta da studiare. Tuttavia, per quanto è possibile capire ora, parrebbe che non sia possibile scollegare un dispositivo da un Mac-PowerPC, collegarlo a un Mac-Intel e aspettarsi che funzioni. Ogni dispositivo ha bisogno, per venire riconosciuto dal sistema operativo, di un pezzo di software chiamato device driver (o KEXT, nel gergo Mac OS X). Appare probabile che i device driver esistenti per OS X-PowerPC vadano completamente riscritti per OS X-Intel. Non è grave quanto sembra, perché Apple fornisce OS X con una enorme quantità di KEXT sviluppate in proprio: quindi potremo certamente trasportare i plotter e le stampanti, le reti e i modem compresi quelli cellulari, i dischi rigidi esterni e i masterizzatori, in generale tutti gli apparecchi che oggi, quando li colleghiamo a un Mac “semplicemente funzionano”. Ma resteranno fuori i palmari, i GPS, i lettori di smartcard e memorie Flash, gli scanner e in generale tutti gli apparecchi che richiedono l’installazione di un software prima dell’uso.


Una risposta completa a questa domanda arriverà nel tempo ed è certo che le possibilità aumenteranno gradualmente; ma possiamo cominciare subito a dare qualche risposta molto interessante seppur parziale. Anzi, tre risposte.


Windows su Macintosh

Jobs ha esplicitamente dichiarato che Apple non farà nulla per impedire che la gente installi Windows sui Mac-Intel. È logico al punto di apparire banale: Apple vendo un computer, Microsoft vende una copia del suo sistema operativo, entrambe le aziende sono felici come una Pasqua. Attenzione, però, ai dettagli. Un ipotetico iMac-Intel con Windows installato è solo un PC dalle linee eleganti, e non ha alcun modo di usare le applicazioni solo-per-Macintosh come iLife o iWork o Final Cut.
Si potrebbe pensare a una macchina con due sistemi operativi installati. Per esempio, potremo avere un Power Macintosh-Intel con due dischi rigidi, che può avviare Mac OS X "Tiger" dal primo e Windows XP dal secondo: un po' come avere due calcolatori in un solo spazio, una bella comodità. Per passare da un ambiente all'altro sarà necessario riavviare. Quando stiamo usando Tiger, vedremo il disco rigido Windows in sola lettura (come se fosse un grande CD) e quando Windows XP è attivo il disco Macintosh sarà completamente invisibile. Questo stato di cose potrebbe poi migliorare con l'arrivo di Mac OS X 10.5 "Leopard" e di Windows "Longhorn", entrambi attesi per fine 2006, ma nessuna delle due case produttrici ha fatto promesse in proposito, dunque bisogna attendere.
E per quanto riguarda i portatili? Situazione meno promettente, perché non è possibile partizionare un singolo disco rigido e installare da una parte il sistema NTFS (necessario ai Windows moderni per l'avvio) e dall'altra HFS Plus Journaled (il suo equivalente Macintosh). Non possiamo certo escludere che qualche ingegnere geniale risolva il problema nei prossimi anni rendendo possibile questo tipo di partizione, ma la questione è tecnicamente molto complessa e per venire sciolta appieno richiederebbe l'attiva collaborazione di Apple, Microsoft e i produttori di BIOS per PC.


VirtualPC il simulatore

Oggi esiste Microsoft VirtualPC per Macintosh, come sappiamo, le cui prestazioni sono limitate dal lavorio di simulazione che quel software deve eseguire. Non tutti sanno che Microsoft ha in catalogo anche un VirtualPC per Windows: si tratta di un programma che permette di far girare più sistemi operativi per PC all'interno del medesimo PC. Una cosa che sa fare anche VirtualPC per Macintosh, in verità, ma che sul PC riesce meglio perché viene meno il bisogno di simulare il processore Intel. È probabile che vedremo una fusione tra questi due prodotti. Chi lo acquistasse, insieme a una copia di Windows XP, potrebbe eseguire sul suo Mac-Intel praticamente tutti i programmi esistenti per Windows, alla stessa velocità che li caratterizza su un PC dotato del medesimo processore Intel (o con differenze prestazionali indistinguibili). E se Microsoft, per qualsiasi motivo, non volesse sviluppare quel prodotto, ci penserà qualche concorrente, visto che la creazione di un simulatore è molto più semplice della creazione di un compilatore.


Wine is not an emulator

Da quando è arrivato Mac OS X noi abbiamo potuto godere di alcuni potenti programmi "open source", tipicamente gratuiti, provenienti dal sistema operativo Linux. Per inciso, Linux e Mac OS X sono destinati a diventare parenti ancora più stretti ora che entrambi utilizzeranno principalmente i processori Intel.
Un programma Linux che sin qui non avevamo ancora visto su Mac è Wine. Si tratta, appunto, di un simulatore di Windows sviluppato in modo "open source" su piattaforma Intel: permette di eseguire parecchi programmi Windows (ma non tutti); e poiché al cuore di Wine non sta una copia di Windows, non c'è da pagare un centesimo. L'idea di tenere in braccio un portatile che, al solito prezzo e insieme ai programmi Mac OS X, può far girare moltissimi programmi PC, ci fa francamente brillare gli occhi. Bisogna però tenere presente che questa soluzione sarà certamente osteggiata sia da Microsoft che da Apple, per motivi distinti. Nel caso di Microsoft, è l'idea di vendere una copia di Windows in meno a dar fastidio. Per quanto riguarda Apple il problema è più complesso e lo affronteremo nel prossimo e ultimo paragrafo.


Meglio un PowerPC oggi che un Intel domani?

Nel giugno 2006 usciranno i primi Mac con processore Intel. Chi sta già pensando ad aggiornare il suo parco macchine a questo punto si chiede: compro subito o aspetto giugno e mi imbarco nella nuova avventura? Gli ottimisti vorranno aspettare, e penseranno "le nuove macchine saranno migliori delle attuali e avranno vita utile più lunga". I pessimisti temeranno: "la prima versione potrebbe avere problemi, meglio comprare i modelli PowerPC". Filosofie personali a parte, c'è un dato di fatto che va valutato e che a nostro parere è fondamentale. Apple ha ufficialmente comunicato che Rosetta, il sistema di compatibilità per programmi PowerPC che accompagnerà le nuove macchine, non funzionerà a livello di plug-in ma solo di applicazione. Pensateci bene e capirete che è un fattore fondamentale. Se lavorate principalmente con Photoshop potete stare sicuri che ci sarà sul mercato una versione ottimizzata per Intel non appena i nuovi Mac saranno sugli scaffali: e lo stesso vale per Quark Xpress, Microsoft Office, FinalCut Pro e gli altri più importanti applicativi al mondo. Ma i plug-in? Voi potrete passare alla versione nativa per Intel soltanto quando anche i plug-in che usate quotidianamente saranno stati riconvertiti per i nuovi processori. Se anche un solo plug-in sarà a vostra disposizione nella sola versione PowerPC, infatti, voi dovrete scegliere tra due antipaticissime alternative: usare tutto l'applicativo e tutti i plug-in nella versione PowerPC sotto Rosetta, dunque lentamente; oppure rinunciare a tutti i plug-in non modernizzati. Quindi, se il vostro lavoro richiede pesantemente, o comunque in modo importante, la disponibilità di plug-in di terze parti, allora vi conviene comprare un Mac con PowerPC prima di giugno 2006. Se invece questo non è il vostro caso, allora potete anche scegliere di aspettare la seconda metà del prossimo anno e imbarcarvi subito nella nuova avventura (essere ottimisti, in questo caso, naturalmente aiuta).


I pericoli per Apple

La migrazione da PowerPC a Intel presenta per Apple due colossali pericoli, di cui la casa di Cupertino è ben conscia. Primo, se si diffondessero capillarmente tra l'utenza Mac soluzioni come Wine o VirtualPC per Mac-Intel, il Mac OS X morirebbe. Per capirne il motivo, mettetevi nei panni di Bruce Chitzin, amministratore delegato di Adobe. Sviluppare la prossima versione di Photoshop gli costerà, molto grossolanamente, dieci milioni di dollari. Così divisi, sempre a naso: otto milioni per le funzionalità di base, un milione per la versione Windows e un milione per la versione Mac OS X (comprese sia la sub-versione PowerPC che la sub-versione Intel). Se Chitzin vedesse che quasi tutti i Macintosh possono usare la versione Windows attraverso Wine, deciderebbe certamente di non realizzare la versione Mac OS X e risparmiare un bel milione di dollari. Tutti gli sviluppatori farebbero questo stesso ragionamento e nel giro di qualche anno non ci sarebbero più nuovi applicativi per Mac, tranne forse quelli prodotti da Apple stessa e dalle sue consociate. Mac OS X resterebbe interessante per le sue caratteristiche di robustezza, perché impervio a tutti i virus, (ma sin qui stiamo parlando di caratteristiche condivise con Linux, che è gratis) e per la sua amichevolezza. Sarebbe, insomma, molto meno attraente di oggi. Probabilmente prima o poi diverrebbe irrilevante, ed evaporerebbe.

C'è un secondo rischio per Apple, ancora più evidente. Cosa succederebbe se fosse possibile installare Mac OS X sui comuni PC? L'idea non è peregrina: se ci pensate, i futuri Macintosh saranno macchine composte esattamente con i medesimi componenti elettronici che costituiscono un PC. Molti tra noi potrebbero essere tentati di acquistare un PC da un produttore di macchine economiche, come Dell, o scegliere un portatile Acer, o un tablet PC, o una macchina con qualche caratteristica che Apple non offre e a noi interessa. Poi acquisteremmo una confezione di OS X in negozio e avremmo il nostro nuovo calcolatore come lo vogliamo. Ma per Apple sarebbe una tragedia. Perdere la vendita di un Powerbook (prezzo medio 2.450 dollari, utile medio 29,8% pari a 730 dollari) per portare a casa, in cambio, la vendita di una scatola OS X significa ridurre gli utili del 90% circa. D'altra parte Apple potrebbe vendere le confezioni di OS X anche a chi possiede già un PC e per ora ci usa Wndows, e recuperare così gli utili perduti. Ma per recuperarli completamente dovrebbe decuplicare le vendite di software: riguardate le percentuali all’inizio dell’articolo. È plausibile? Certamente no. Tenete presente che gli utenti di PC possiedono tutti una copia di Windows debitamente pagata da cui sono, se non soddisfatti, perlomeno accontentati. Che accorrano in massa a pagare Apple per tentare la strada OS X, ottenendo in cambio una compatibilità dubbia (come abbiamo visto sopra) con i software Windows che già possiedono e assai dubbia con le periferiche di cui dispongono non è credibile.
Quindi Apple farà di tutto per proteggere OS X in modo che giri solo sulle macchine prodotte proprio da Apple. Ma l'impresa è difficilissima: sappiamo benissimo che l'attuale prototipo gira proprio su un PC di poco modificato ed è certo che qualche hacker geniale e con molto tempo libero si metterà di buzzo buono per costringere il nostro sistema operativo a funzionare sul suo Dell da 399 euro, con l'idea poi di distribuire su Internet una "patch" che lo consenta a chiunque. Il che è legalissimo, badate bene: nulla impedisce a chi acquista legalmente una Fiat blu e il retrovisore di una Ferrari di dipingere la sua auto di rosso; però nel nostro caso il risultato è una Ferrari operativamente indistinguibile dall'originale, anche se dal design francamente discutibile.


L’ultima parola

Si prospettano tempi interessanti, ricchi di nuove possibilità e (francamente) anche di rischi. Uno degli aspetti più positivi di questa manfrina è che adesso non ci sarà più spazio per ciurlare nel manico, né per Apple né per Microsoft. Si prende un Mac con OS X 10.5 e processore Intel a 3.8 GHz da una parte, ci si monta Photoshop 11.0 per OS X.
Si prende un PC con Windows Longhorn e processore Intel a 3.8 GHz dall'altra parte, ci si monta Photoshop 11.0 per Windows. E poi via al cronometro. Quando ci vuole per una sfocatura Gaussiana? Per aprire un file da mezzo Gigabyte? Per trasferirlo in rete Ethernet allo stesso server usando FTP? Qualunque differenza ci sia, è merito (o colpa) del sistema operativo. Né Apple né Microsoft potranno farsi belli salendo sulle larghe spalle rispettivamente di IBM e Intel, né nascondersi dietro a loro. La concorrenza di solito funziona molto bene per migliorare i prodotti: stiamo a vedere.


Questo articolo fa parte di uno dei miei percorsi. Se vuoi saperne di più su questo argomento, visita il resto del percorso cliccando qui.