Rosetta
A Magyar Macintosh Wiki wikiből
Tartalomjegyzék |
[szerkesztés] Mi az a Rosetta?
A 2006 januárjában megjelent Intel processzoros Macintosh számítógépek hardveres felépítése jelentősen megváltozott minden téren. A bemutatott Macintoshok számítógépek processzora szerkezete PowerPC-ről, x86 alapúra cserélődött. A kettő különböző processzor-szerkezeten használható utasítások eltérnek. Az Apple meg szerette volna oldani, hogy az új Intel processzoros Macintosh számítógépek képesek legyenek futtatni a korábbi PowerPC-re fejlesztett szoftvereket. Erre lett kitalálva a Rosetta.
A Rosetta tulajdonképpen egy PowerPC kód fordító az Intel x86 processzoron futó Mac OS X-hez, melyet az Apple a Transitive-től licencel. Segítségével tudjuk majdan futtatni "régi" PowerPC-re fordított programokat az új Inteles Mac-eken, kb 70%os sebességgel. A Rosetta G4-ig ismeri a PowerPC processzorokat és AltiVec utasításokat is támogatja (Intel processzorokon ezzel az SSE3 utasításkészlet ekvivalens).
A Rosetta a Mac OS X 10.4.1 Intel Transition Kitjén már megtalálható és valószínűleg része lesz a Leopárdnak is.
[szerkesztés] Mit nem képes futtatni a Rosetta?
- azon szoftverek, amelyek a Mac OS X előtti operációs rendszerekre lettek megírva (Classic, Mac OS 9, Mac OS 8, Mac OS 7, stb.);
- magát a Classic környezetet;
- PowerPC szerkezetre megírt képernyőkímélőket;
- rendszer beállításait (System Preferences) megváltoztató kódokat;
- G5-ös processzorra írt kódokat;
- olyan szoftvereket, amelyek egy, vagy több PowerPC-alapú kernel kiegészítőre épültek;
- kernel kiegészítőket;
- JNI könyvtárakat használó Java alkalmazásokat;
- Rosetta által fordított alkalmazásokon belüli Java applet-eket, pl. ha az internetes böngésző megnyitásához a Rosettara van szükség, az azon belüli Java applet-ek nem futnak majd;
- a Rosetta nem támogatja a precíz kivételezést. Bármely olyan alkalmazás, amelyhez a pontos regiszter állapotok pontos kivételezése szükségeltetik, nem fog helyesen működni a Rosettaval.
Forrás: Apple fejlesztői oldala
[szerkesztés] Universal Binary alkalmazás Rosettan belüli (kényszer) futtatása
Az Intel processzoros Macintosh felhasználóknak lehetőségük nyílik kiválasztani, hogy az Universal Binary alkalmazások melyik kód részét szeretnék futtatás közben felhasználni. Tehát kiválasztható, hogy az Inteles Mac-eken az univerzális alkalmazás az x86-os kódot, vagy a PPC kódot használja. Ez a következő módon állítható be:
- A Finderben jelöljük ki az alkalmazás ikonját;
- A File menüből válasszuk ki a "Get Info" parancsot, ami megnyitja az adott alkalmazásra vonatkozó, rendszer szintű beállítható tulajdonságokat;
- A Rosettan belüli futtatáshoz, az "Open With..." mezőben válasszuk ki a "Rosetta" opciót, majd zárjuk be az ablakot.
Forrás: Apple oldala
[szerkesztés] Universal Binary vagy Rosetta
Fontos kiemelni az "Universal Binary" és Rosetta közti különbséget.
- Mint említettük, a Rosetta egy fordító alkalmazás, amely a PowerPC-re megírt programokat fordítja le az x86-on érhető módon. Tehát itt kifejezetten fordításról van szó, a felül említett korlátozások figyelembevételével.
- A "Universal Binary" egy olyan programtípus, amely tartalmazza a PowerPC és x86-os processzorok gépi nyelvére lefordított programkódokat egyszerre. Ezek az alkalmazások méretben valamennyivel nagyobbak lesznek, de a Rosetta fordító technika használata nélkül is képesek lesznek működni az x86 és PPC alapú Mac OS X rendszereken.
[szerkesztés] Tipp
- Rosetta a Universal Binary Programming Guide-ban
- Rosetta oldal a Wikipédián.
