Rosetta (software)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 24. maj 2022; checks kræver 2 redigeringer .

Rosetta  er en dynamisk binær oversætter udviklet af Apple Inc til dets operativsystemer ( macOS ) til applikationskompatibilitet mellem forskellige instruktionssætarkitekturer . Dette giver udviklere og forbrugere en overgangsperiode, hvor de kan opgradere deres applikationssoftware til at køre på nyere hardware ved at "migrere" den til en anden arkitektur. Navnet "Rosetta" er en reference til Rosetta-stenen , en artefakt, der tillod oversættelse af egyptiske hieroglyffer. [en]

Den første version af Rosetta, der blev introduceret i 2006 som en komponent i Mac OS X Tiger , tillader PowerPC -programmer at køre på Intel-baserede Mac'er . Den anden version, der blev introduceret i 2020 som en komponent af macOS Big Sur , er en del af Mac'ens overgang fra Intel-processorer til dens ARM - baserede Apple-siliciumprocessorer . [2]

Udvikling

Apple har brugt fire serier af processorarkitekturer i sin serie af Macintosh-computere , nemlig Motorola 68000-serien , PowerPC-serien , Intel Core-serien og dens egen ARM - type processorserie . Hver overgang gjorde software bygget til den tidligere arkitektur inkompatibel med den nye, hvilket skabte et behov for software, der ville gøre det muligt for den nye platform at efterligne den forrige.

Da virksomheden introducerede sine første PowerPC-systemer, inkluderede Apple software i OS-version 7.1.2 og senere til at emulere systemet i 68000-serien. Denne emulator udnytter de indbyggede funktioner i PowerPC-processorer og får adgang til de laveste niveauer af operativsystemet, der kører på den samme niveau som Mac OS nanokernel og tæt relateret til det. Dette betyder, at nanokernen er i stand til at fange PowerPC- afbrydelser , konvertere dem til 68k interrupts (så skifte til blandet tilstand, hvis det er nødvendigt), og derefter udføre 68k-kode for at håndtere afbrydelserne. Dette giver dig mulighed for at interleave linjer med 68k og PowerPC-kode i samme fede binære .

Rosetta (skift til Intel)

Apple udgav den første version af Rosetta i 2006, da det begyndte at skifte sin Macintosh -linje fra PowerPC til en Intel-processor. Det var oprindeligt inkluderet i Mac OS X v10. 4.4 "Tiger", den version, der blev udgivet med de første Intel-baserede Mac'er og tillader mange PowerPC-applikationer at køre uændret på Intel-baserede Mac'er. Rosetta er baseret på QuickTransit-teknologi [3] den har ingen brugergrænseflade og kører efter behov uden at give brugeren besked, hvilket får Apple til at beskrive det som "den mest fantastiske software, du nogensinde vil se". Rosetta er ikke installeret som standard i Mac OS X v10. 6 " Snow Leopard ", men tilgængelig som en installerbar mulighed. Rosetta er ikke inkluderet eller understøttet på Mac OS X v10. 7 "Lion" eller nyere, som derfor ikke kan køre PowerPC-applikationer. [fire]

Fordele

På grund af de store arkitektoniske forskelle mellem Intel- og PowerPC-processorer, kører Rosetta på et højere niveau end 68000-emulatoren som et program på brugerniveau, der kun kan opsnappe og emulere kode på brugerniveau. Det oversætter G3, G4 og AltiVec instruktioner , men ikke G5 instruktioner. Selvom de fleste kommercielle programmer til PowerPC-baserede computere var kompatible med disse krav (G4-systemer blev stadig meget brugt på det tidspunkt), skulle alle applikationer, der var afhængige af specifikke G5-instruktioner, ændres af deres udviklere til at køre på Rosetta-understøttede computere baseret på Intel. Apple har sagt, at applikationer med tung brugerinteraktion, men lave beregningsbehov (såsom tekstbehandlingsprogrammer ) er bedst egnede til brug med Rosetta, mens applikationer med høje beregningsbehov (såsom spil, AutoCAD eller Photoshop) ikke er det.

Supportrestriktioner

Rosetta understøtter heller ikke følgende:

Skrivebordsmiljøet og derfor ethvert program bygget til Mac OS 9 eller tidligere Kode, der indsætter indstillinger i ruden Systempræferencer Programmer, der kræver finmasket undtagelseshåndtering Pauseskærm Kerneudvidelser og programmer, der afhænger af dem Relaterede Java-applikationer eller Java-applikationer med JNI biblioteker, der ikke kan oversættes Java-applets i programmer, der er oversat til Rosetta-sproget betyder, at du skal bruge den oprindelige Intel-webbrowserapplikation til at indlæse Java-applets, ikke den ældre PowerPC-version

Rosetta 2 (skift til ARM/Apple silicium)

I 2020 annoncerede Apple Rosetta 2, som vil blive inkluderet i macOS Big Sur og hjælpe med Mac'ens overgang til Apple silicium fra Intel-processorer . Ud over den just-in-time oversættelse (JIT) support, der er tilgængelig i Rosetta, inkluderer Rosetta 2 forudgående kompilering (AOT) oversættelsesstøtte [5] , når applikationen er installeret.

Ekspertudtalelser

Præstationen af ​​Rosetta 2 blev meget rost. I nogle benchmarks klarede Rosetta 2 sig bedre end Intels gamle proprietære hardware-Mac'er. Rosetta 2 virker til mange programmer, men ikke alle, nogle virker slet ikke eller rapporterer "træghed". Mange programmer kan gøres kompatible med nye Mac'er ved at genkompilere af softwareleverandøren, hvilket ofte er en simpel opgave, mens ændringer ikke er lette eller automatiserede for nogle programmer (såsom dem, der inkluderer monteringskode eller genererer maskinkode ).

Brugeroplevelse

Som med den første version kræver Rosetta 2 normalt ikke brugerindgreb. Første gang en bruger forsøger at køre et Intel-only-program, beder macOS dem om at installere Rosetta 2, hvis komponenten ikke er tilgængelig. Efterfølgende lanceringer af x86- programmer vil blive udført automatisk gennem oversættelsen. Der er også mulighed for at få den generiske binære til at fungere som Intel -kode via Rosetta 2, selv på en ARM -baseret maskine .

Noter

  1. Core Duo iMacs debuterer hurtige nye  chips . Macworld (28. januar 2006). Hentet 9. december 2020. Arkiveret fra originalen 6. december 2020.
  2. Tom Warren. Apple skifter Mac-computere til sine egne processorer fra senere i  år . The Verge (22. juni 2020). Hentet 9. december 2020. Arkiveret fra originalen 22. juni 2020.
  3. Stephen Shankland. Hjernen bag Apples Rosetta : Transitive  . CNET . Hentet 9. december 2020. Arkiveret fra originalen 1. marts 2016.
  4. Inside Mac OS X 10.7 Lion: Missing Front Row, Rosetta og Java  runtime . AppleInsider . Hentet 9. december 2020. Arkiveret fra originalen 10. marts 2021.
  5. Keynote - WWDC 2020 -  Videoer . Apple udvikler . Hentet 9. december 2020. Arkiveret fra originalen 18. september 2020.