Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Операциялық жүйе компоненті, басқа бағдарламалық өнімдер немесе "Розетта" деп аталатын жобалар.
Operating system component
other software products or projects named "Rosetta"
Розетта – Apple Inc. компаниясы macOS үшін әзірлеген динамикалық екілік аудармашы, түрлі нұсқаулар жиынтығы архитектуралары арасындағы қолданба үйлесімділігін қамтамасыз ететін қабат. Ол бағдарламалық жасақтаманы автоматты түрде аудару арқылы жаңа жабдыққа көшуге мүмкіндік береді. Атауы – египет иероглифтерін аударуға көмектескен Розетта тасына сілтеме. 2006 жылы Mac OS X Tiger жүйесінде пайда болған Розеттаның алғашқы нұсқасы PowerPC процессорларынан Intel процессорларына Mac-тың көшуінің бір бөлігі болды, PowerPC қолданбаларын Intel процессорлары бар Mac-тарда іске қосуға мүмкіндік берді. 2011 жылы Mac OS X Lion (10.7) шығарылымымен Розетта қолдауы тоқтатылды. 2020 жылы macOS Big Sur құрамы ретінде ұсынылған Розетта 2, Intel процессорларынан Apple кремнийіне көшудің бір бөлігі болып табылады, Intel қолданбаларын Apple кремнийімен жабдықталған Mac-тарда іске қосуға мүмкіндік береді.
Rosetta is a dynamic binary translator developed by Apple Inc. for macOS, an application compatibility layer between different instruction set architectures. It enables a transition to newer hardware, by automatically translating software. The name is a reference to the Rosetta Stone, the artifact which enabled translation of Egyptian hieroglyphs. The first version of Rosetta, introduced in 2006 in Mac OS X Tiger, was part of the Mac transition from PowerPC processors to Intel processors, allowing PowerPC applications to run on Intel based Macs. Support for Rosetta was dropped with the release of Mac OS X Lion (10.7) in 2011. Rosetta 2, introduced in 2020 as a component of macOS Big Sur, is part of the Mac transition from Intel processors to Apple silicon, allowing Intel applications to run on Apple silicon based Macs.
Өмірбаян
Macintosh бірнеше түрлі нұсқаулар жиынтығы архитектурасын қолданған процессорларды пайдаланды: Motorola 68000 сериясы, PowerPC, Intel x86 және Apple кремнийіндегі ARM64. Әрбір нұсқаулар жиынтығы архитектурасы өзінің алдыңғысымен үйлесімсіз, сондықтан бұрынғы нұсқаулар жиынтығын келесі архитектурада эмуляциялауға негізделген көшу жоспары қажет болды. Power Macintosh-тың шығуымен Mac 68K эмуляторы System 7.1.2 және одан кейінгі нұсқаларының құрамына кірді. Бұл эмулятор PowerPC мүмкіндіктерін пайдаланады және Mac OS наноядросымен тікелей біріктірілген операциялық жүйенің ең төменгі деңгейлеріне енгізілген. Бұл наноядро PowerPC үзілістерін ұстап алып, оларды 68k үзілістеріне аудара алады (содан кейін қажет болған жағдайда аралас режимге ауысады), сосын үзілістерді өңдеу үшін 68k кодын орындайды. Осының арқасында 68k және PowerPC кодтарын бірдей «қалың» бинарлық файлдың ішінде араластыруға болады.
Macintosh has used CPUs with several different instruction set architectures: the Motorola 68000 series, PowerPC, Intel x86, and ARM64 in Apple silicon. Each instruction set architecture is incompatible with its predecessor, necessitating a transition plan based on a software layer to emulate the previous instruction set on the succeeding one. With the launch of Power Macintosh, the Mac 68K emulator is part of System 7.1.2 and later. This emulator uses PowerPC features and is embedded at the lowest levels of the operating system, integrated with the Mac OS nanokernel. This means that the nanokernel is able to intercept PowerPC interrupts, translate them to 68k interrupts (then doing a mixed mode switch, if necessary), and then execute 68k code to handle the interrupts. This allows 68k and PowerPC code to be interspersed within the same fat binary.
Розетта 2
2020 жылы Apple Rosetta 2 бағдарламалық қамтамасыз етілуін macOS Big Sur жүйесімен бірге Mac-тың Apple кремнийіне өтуіне көмектесетінін хабарлады. Бұл бағдарламалық қамтамасыз ету x86 64 негізіндегі процессорларда ғана жұмыс істеу үшін құрастырылған көптеген қолданбаларды Apple кремнийінде жұмыс істеу үшін аударуға мүмкіндік береді. Apple кремний Mac-ке Rosetta 2 орнатудың екі жолы бар: терминалды пайдаланып бағдарламаны тікелей орнату немесе x86 64 үшін құрастырылған қолданбаны ашуға тырысу, бұл орнату терезесін ашады. Жұмыс істеп тұрған кезде (JIT) аударманы қолдаудан өзге, Rosetta 2 уақытынан бұрын компиляцияны (AOT) ұсынады, яғни x86 64 коды әмбебап бинарлықсыз қолданба Apple кремний Mac-ке орнатылғанда бір рет толық аударылады. Rosetta 2 өте жоғары бағаланды. Кейбір сынақтарда x86 64 ғана бағдарламалары Intel x86 64 процессоры бар Mac-ке қарағанда Apple M1 SOC-ы бар Mac-те Rosetta 2 арқылы жақсы өнім көрсетті. Rosetta 2 аударма тиімділігінің жоғары деңгейін қамтамасыз етудің басты себептерінің бірі – Apple M1 SOC-та x86 64 жад ретін қолдау. SOC сонымен қатар x86 флагтарын есептеу үшін арнайы нұсқауларды қамтиды. Rosetta 2 көптеген бағдарламалық қамтамасыз етулермен жұмыс істесе де, кейбір бағдарламалық қамтамасыз етулер мүлдем жұмыс істемейді немесе «баяу» деп хабарланады. Алдыңғы нұсқасына ұқсас, Rosetta 2 әдетте пайдаланушының араласуын қажет етпейді. Пайдаланушы x86 64 бағдарламасын бірінші рет іске қосуға тырысқанда, егер ол әлі орнатылмаған болса, macOS оны орнатуды ұсынады. Кейін x86 64 бағдарламаларын іске қосу аударма арқылы автоматты түрде жүзеге асырылады. Сондай-ақ, ARM негізіндегі машинада болса да, Rosetta 2 арқылы x86 64 коды ретінде жұмыс істеуге мәжбүрлеу үшін әмбебап бинарлықты пайдалануға болады. macOS Ventura нұсқасынан бастап Linux-ты қонақ жүйе ретінде пайдаланатын виртуалды машиналарды пайдаланушылар виртуалды машинада Linux үшін құрастырылған x86 64 кодын орындау үшін Rosetta 2-ні пайдалана алады. Rosetta 2 – орындалатын бинарлық файл ретінде жұмыс істейді және оны қонақ жүйеге орнату қажет. Бұл орындалатын файлды үшінші тараптық аппараттық құралдарға орнатудың кейбір мысалдары болды, егер ол кем дегенде ARMv8.2 A нұсқаулар жиынтығын қолдайтын процессорды қамтыса; жад реті туған x86-дан өзгеше болады. Кейбір әзірлеушілер бұл macOS лицензиялық шартында бұзушылық болуы мүмкін екенін атап өтті, себебі орындалатын файл Apple-дің Virtualization шеңберіне енгізілген.
In 2020, Apple announced Rosetta 2 would be bundled with macOS Big Sur, to aid in the Mac transition to Apple silicon. The software permits many applications compiled exclusively for execution on x86 64 based processors to be translated for execution on Apple silicon. To install Rosetta 2 on an Apple silicon Mac there are two ways to do it: either by using the Terminal to install the program directly, or by trying to open an application compiled for x86 64, which will open an installation window. In addition to the just in time (JIT) translation support, Rosetta 2 offers ahead of time compilation (AOT), with the x86 64 code fully translated, just once, when an application without a universal binary is installed on an Apple silicon Mac. Rosetta 2's performance has been praised greatly. In some benchmarks, x86 64 only programs performed better under Rosetta 2 on a Mac with an Apple M1 SOC than natively on a Mac with an Intel x86 64 processor. One of the key reasons why Rosetta 2 provides such a high level of translation efficiency is the support of x86 64 memory ordering in the Apple M1 SOC. The SOC also has dedicated instructions for computing x86 flags. Although Rosetta 2 works for most software, some software doesn't work at all or is reported to be "sluggish". Similar to the first version, Rosetta 2 does not normally require user intervention. When a user attempts to launch an x86 64 only application for the first time, macOS prompts them to install Rosetta 2 if it is not already available. Subsequent launches of x86 64 programs will execute via translation automatically. An option also exists to force a universal binary to run as x86 64 code through Rosetta 2, even on an ARM based machine. Since macOS Ventura, users running virtual machines with Linux as a guest operating system can make use of Rosetta 2 to run x86 64 code compiled for Linux, within the virtual machine. Rosetta 2 works as a runtime binary, which is required to be installed on the guest operating system. There have been instances of developers installing this runtime binary on third party hardware, provided that it includes a CPU that supports at least the ARMv8.2 A instruction set; the memory ordering will be different from native x86. Some developers have noted that it might violate macOS's licensing agreements, since the runtime is bundled within Apple's Virtualization framework.