Transitive, l’interprete del Mac con Intel

di |
logomacitynet696wide

Il Mac con processore Intel parlerà con i programmi PPC grazie a Rosetta, ma dietro c’è una tecnologia di una start up emergente: Transitive. Ecco come funzionerà e chi sono i protagonisti del layer d’emulazione di cui si serve Cupertino per la sua storica migrazione.

Rosetta, il layer d’emulazione che consentirà  alle applicazioni PPC di funzionare sui Mac Intel senza essere riscritte, si basa sui brevetti di Transitive. A rivelare la partnership tra Apple e una delle start up più interessanti tra quelle che affollano la Silicon Valley, di cui Macitynet si era già  occupato nel settembre dello scorso anno.

Transitive, secondo quanto si apprende da alcuni siti Internet, avrebbe ceduto in licenza ad Apple QuickTransit o una parte di esso, una tecnologia d’emulazione tanto potente da trasferire l’80% della potenza di calcolo del processore all’esecuzione del codice, assorbendone solo il 20% per gestire la traduzione dello stesso.

Il sistema con cui QuickTransit è piuttosto semplice, almeno nella sua struttura. Una parte è il decodificatore vero e proprio che prende il codice nel vecchio formato e lo trasforma in uno intermedio, la seconda parte é il nucleo dell’emulatore che valuta il codice decodificato e ne analizza le potenzialità  in fatto di velocità  di esecuzione, la terza parte si occupa di far girare il codice tradotto sul computer di destinazione. Questa componente risiede in memoria e non deve essere caricata ogni volta, aumentando la velocità . Transitive sarebbe riuscita a ricavare prestazioni elevate da QuickTransit sia grazie alla potenza dei chip che alla diminuzione dei costi della memoria. Una buona quantità  di Ram è essenziale per avere prestazioni accettabili.

Apple, per iniziativa di Jobs che ne ha parlato al New York Times, ammette di avere un accordo con Transitive, ma non rivela a quale livello. Non è chiaro, ad esempio, quanta parte di QuickTransit ci sia in Rosetta nè, fattore ancora più importante, se l’emulazione sia bidirezionale, ovvero se il codice scritto per il Mac con Intel possa essere tradotto per funzionare anche con i Mac PPC.

Apple non è certa l’unica società  ad essersi rivolta a Transitive. La società , basata a Los Gatos ma che è nata in Inghilterra da un progetto sviluppato nell’università  di Manchester, ha rapporti con sei dei maggiori otto produttori di computer. Tra queste Silicon Graphics che usa le tecnologie di Transitive per far girare il vecchio Irix sulle nuove macchine Linux con processori Itanium.

Gli osservatori, pur impressionati dalle potenzialità  delle tecnologia, scottati dai precedenti, attendono di vedere tradotte in fatti le promesse di Apple e snocciolano i fallimenti: FX!32 che doveva far girare codice Windows su macchine con processori Alpha, Aries finalizzato a tradurre software HP-UX per i PA- RISC Itanium e IA32-EL che, sempre su Intanium, doveva leggere codice per x86.

“In molti hanno promesso prestazioni al 60% ma poi si sono ridotti ad offrire il 30% – dice Nathan Brookwood di Insight 64. A Transitive come agli altri dico: fatemi vedere come vanno le cose”. “La storia dice che la traduzione binaria – sostiene Gordon Haff di Illuminata – non funziona. Verrà  un giorno in cui forse le cose cambieranno, ma per ora ogni ambizione si è trovata a dover fronteggiare una realtà  che è ben diversa dalle promesse”.

Apple, la cui esperienza nell’emigrazione di piattaforme risale agli anni in cui emulava il codice 68K in PowerPC, potrebbe avere fatto la scelta di non universalizzare l’emulazione, limitandola ad ambiti dove era certa di avere buone prestazioni. Questa impressione potrebbe essere confermata dalle “specifiche” di Rosetta si leggono sul sito degli sviluppatoriche . L’emulatore, ad esempio non può tradurre codice AltiVec, quello che prevede la presenza di un processore G4 o G5 o quello che gira su Mac OS 8 o 9, applicazioni che inseriscono preferenze nel System preferences Panel, che dipendono da una o più estensioni del Kernel, estensioni del kernel, applicazioni Java con librerie JIN o applicazioni Java connesse alle applicazioni.