Rosetta (программное обеспечение)


Rosetta — динамический двоичный транслятор, разработанный компанией Apple Inc для своих операционных систем (macOS) для совместимости приложений между различными архитектурами набора команд. Это дает разработчикам и потребителям переходный период, в течение которого они могут обновить свое прикладное программное обеспечение для работы на более новом оборудовании, «переведя» его на другую архитектуру. Название «Розетта» является отсылкой к Розеттскому камню, артефакту, который позволил перевести египетские иероглифы.[1]

Первая версия Rosetta, представленная в 2006 году как компонент Mac OS X Tiger, позволяет приложениям PowerPC работать на компьютерах Mac на базе Intel. Вторая версия, представленная в 2020 году как компонент macOS Big Sur, является частью перехода Mac от процессоров Intel к своим процессорам Apple silicon, производимых по технологии ARM.[2]

Apple использовала четыре серии процессорных архитектур в своей линейке компьютеров Macintosh, а именно: Motorola 68000 series, PowerPC series, Intel Core series и свою собственную серию процессоров ARM-типа. Каждый переход делал программное обеспечение, созданное для более ранней архитектуры, несовместимым с новой, создавая потребность в программном обеспечении, позволяющем новой платформе эмулировать предыдущую.

Когда компания представила свои первые системы PowerPC, Apple включила программное обеспечение в ОС версии 7.1.2 и более поздние для эмуляции системы серии 68000. Этот эмулятор использует преимущества функций, встроенных в процессоры PowerPC, и получает доступ к самым нижним уровням ОС, работающим на том же уровне, что и наноядро Mac OS, и тесно связанным с ним. Это означает, что наноядро способно перехватывать прерывания PowerPC, переводить их в прерывания 68k (затем, при необходимости, переключать смешанный режим), а затем выполнять код 68k для обработки прерываний. Это позволяет чередовать строки кода 68k и PowerPC в одном двоичном файле fat.

Apple выпустила первую версию Rosetta в 2006 году, когда она начала переключать линейку Macintosh с PowerPC на процессор Intel. Первоначально он был включен в Mac OS X v10. 4. 4 «Tiger», версию, которая была выпущена с первыми компьютерами Mac на базе Intel, и позволяет многим приложениям PowerPC работать на компьютерах Mac на базе Intel без изменений. Rosetta основана на технологии QuickTransit[3], она не имеет пользовательского интерфейса и запускается по мере необходимости без уведомления пользователя, что привело Apple к описанию её как «самого удивительного программного обеспечения, которое вы никогда не увидите». Rosetta не устанавливается по умолчанию в Mac OS X v10. 6 «Snow Leopard», но доступна в качестве устанавливаемой опции. Rosetta не входит и не поддерживается в Mac OS X v10. 7 «Lion» или более поздней версии, которая поэтому не может запускать приложения PowerPC.[4]