Rosetta (software)
Template:Infobox Software Rosetta è un emulatore software sviluppato da Apple Computer che permette alle macchine dotate di processori x86 Intel di utilizzare il software compilato per PowerPC. Il nome è un chiaro riferimento alla Stele di Rosetta, la stele che consenti agli archeologi la decifrazione dei geroglifici egizi. L'emulatore fa uso della tecnologia QuickTransit per ottenere elevate prestazioni durante l'emulazione del processore PowerPC, questa tecnologia utilizza una tecnica di ricompilazione dinamica molto efficiente.
La prima versione di Rosetta poteva eseguire unicamente codice compilato per processori G3. Programmi che utilizzano istruzioni G4, G5 o AltiVec non potevano essere gestiti da Rosetta. La versione invece integrata nei primi MacIntel commerciati supporta AltiVec e G4. La filosofia di Apple è che i programmi che fanno uso di un'elevata potenza di calcolo non devono fare uso di emulatori ma devono essere ricompilati per utilizzare al meglio i processori presenti sulla macchina. Rosetta è progettato per essere utilizzato con programmi che non eseguono un numero elevato di operazioni (tipo word processor). Applicazioni che manipolano elevate moli di dati (come i programmi di Ray tracing) vanno ricompilate in Universal binary. Il programma non è dotato di un'interfaccia grafica dato che agisce in modo trasparente per l'utente entrando in funziona quando un sistema X86 cerca di eseguire codice PowerPC.
Rosetta non funziona nei seguenti casi:
- Applicazioni progettate per il Mac OS 8 o Mac OS 9
- Screensaver
- Pannelli di preferenze del sistema
- Applicazioni che richiedono processori G5
- Applicazioni che utilizzano direttamente una o più estensioni del kernel
- Estensioni del kernel
- Applicazioni in Java oppure applicazioni che utilizzano le libreria Java
Queste limitazioni sono dovute al funzionamento del programma. Rosetta viene eseguito nello spazio utente del sistema operativi e quindi non è in grado di interagire con le funzioni a basso livello del sistema operativo. Questa scelta ha permesso a Apple di semplificare la fase di sviluppo del programma e di ridurre eventuali problemi di sicurezza. Un programma eseguito da Rosetta con eventuali problemi di sicurezza non potrebbe agire al livello di sistema operativo, i problemi di sicurezza rimarrebbero confinati a livello utente.
L'emulatore Mac 68K che Apple sviluppo per la transizione dalla macchina Motorola 68000 alle macchine PowerPC invece non era dotato di queste limitazioni. Quell'emulatore era integrato a un livello molto basso del sistema operativo e quindi non era dotato delle limitazioni di Rosetta. Quella fu una scelta dovuta alla necessità, quando Apple presentò le macchine basate su PowerPC la maggior parte del sistema operativo non era convertito in codice PowerPC e quindi l'emulatore veniva utilizzato per eseguire anche buona parte del sistema operativo. Quando vennero presentate le macchine Intel invece il sistema operativo Mac OS X era già stato convertito in codice X86 e quindi non era necessaria la presenza di un emulatore installato a un livello così basso del sistema operativo.
Voci correlate
Collegamenti esterni
- (EN) Apple Linee guida per la generazione di codice binario universale
- (EN) Apple Comunicato stampa