Mac 68K: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti. |
|||
| (10 versioni intermedie di 8 utenti non mostrate) | |||
Riga 1:
{{F|
Il '''Mac 68K''' era [[emulatore]] software incluso in tutte le versioni di [[Mac OS]] per i processori [[PowerPC]]. L'emulatore permetteva l'esecuzione delle applicazioni e delle componenti del sistema operativo scritte in codice [[Motorola 68000|68000]] sui processori PowerPC. L'emulatore era totalmente trasparente per l'utente e quasi trasparente per il programmatore. Inizialmente l'emulatore venne scritto da Gary Davidian per i processori 88000, i processori RISC che inizialmente Apple voleva utilizzare per sostituire i processori 68000. In seguito l'emulatore venne scritto per PowerPC e venne utilizzata la [[ricompilazione dinamica]] al fine di migliorarne le prestazioni, questa versione venne scritta da [[Eric Traut]] che in seguito lavorò allo sviluppo della [[Virtual Game Station]] e dell'emulatore [[Virtual PC]].
Tutte le
L'emulatore era inserito all'interno del sistema operativo a un livello molto basso. Questi si era reso necessario anche perché buona parte del sistema operativo quando vennero presentate le macchine PowerPC non era stato convertito in codice PowerPC ma era rimasto in codice 680X0. Quando un programma chiamava un'[[Application programming interface|API]] non convertita il processore PowerPC generava un'eccezione che attivava l'emulatore che provvedeva a eseguire l'API.
Il sistema operativo venne convertito con una certa lentezza da Apple in codice PowerPC, questo perché il sistema operativo non era stato scritto in modo da essere portabile e quindi buona parte del sistema operativo in realtà venne riscritto totalmente. Questo portava il sistema operativo a diventare più veloce mano a mano che la conversione dello stesso proseguiva.
Per il programmatore la transizione all'architettura PowerPC fu quasi indolore, l'emulatore si attivava e si bloccava in modo trasparente non interferendo con i normali flussi dei programmi. Per la transizione venne sviluppato un nuovo tipo di puntatore, chiamato Universal Procedure Pointer (UPP). Per il codice 680X0 questo era un normale puntatore ma in realtà questo indirizzava una speciale [[struttura dati]], questa serviva per determinare se il codice da eseguire era PowerPC o 680X0 e questa struttura dati veniva utilizzata per avviare il corretto codice dato che le applicazioni scritte durante il periodo di transizioni contenevano al loro interno codice PowerPC e codice 680X0. Questo permetteva anche di miscelare codice 680X0 e PowerPC nella stessa applicazione, il programmatore quindi poteva convertire le applicazioni una componente per volta suddividendo il lavoro in più fasi.
L'emulatore è stato integrato all'interno dell'ambiente [[Classic (
== Note ==
| |||