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

Розетта
Приложение PowerPC (Microsoft Word для Mac 2004), работающее на OS X для Intel в Rosetta
Приложение PowerPC (Microsoft Word для Mac 2004), работающее на OS X для Intel в Rosetta
Разработчики)Apple Inc.
Операционная системаMac OS X 10.4.4–10.6.8 (Intel)
macOS Big Sur 11.0 – настоящее время (ARM)
ТипPowerPC двоичная трансляция (оригинальная версия)
Intel двоичный перевод (Rosetta 2)

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

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

Фон

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

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

Розетта

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

Из-за больших архитектурных различий между процессорами Intel и PowerPC, Rosetta работает на более высоком уровне, чем эмулятор 68000, поскольку уровень пользователя программа, которая может только перехватывать и эмулировать код пользовательского уровня. Это переводит G3, G4, и AltiVec инструкции, но не G5 инструкции. Хотя большинство коммерческого программного обеспечения для компьютеров Mac на базе PowerPC было совместимо с этими требованиями (системы G4 все еще широко использовались в то время), любые приложения, которые полагались на инструкции G5, должны были быть изменены их разработчиками для работы на поддерживаемых Rosetta Intel- Mac на базе. Apple сообщила, что приложения с интенсивным взаимодействием с пользователем, но с низкими вычислительными потребностями (например, текстовые процессоры ) лучше всего подходят для использования с Rosetta, в то время как приложения с высокими вычислительными потребностями (например, игры, AutoCAD, или же Фотошоп ) не стал бы.[6]

Rosetta также не поддерживает следующее:[7]

  • В Классическая среда , и, следовательно, любой неуглеродное приложение построен для Mac OS 9 или раньше
  • Код, который вставляет предпочтения в панель системных настроек
  • Приложения, требующие точной обработки исключений
  • Хранители экрана
  • Расширения ядра и приложения, которые от них зависят
  • В комплекте Ява приложений или приложений Java с JNI библиотеки, которые нельзя перевести
  • Аплеты Java в приложениях, переведенных с помощью Rosetta, что означает, что для загрузки апплетов Java необходимо использовать собственное приложение веб-браузера Intel, а не устаревшую версию PowerPC.

Розетта 2

В 2020 году Apple анонсировала Rosetta 2, которая будет включена, начиная с macOS Big Sur и помощь в Переход Mac на Apple Silicon от процессоров Intel.[2][8] В добавок к вовремя (JIT) поддержка перевода доступна в Rosetta, Rosetta 2 включает поддержку опережающая компиляция (AOT) перевод при установке приложения.[9] Производительность Rosetta 2 получила высокую оценку. В некоторых тестах Rosetta 2 показала лучшие результаты, чем собственное оборудование.

Как и первая версия, Rosetta 2 обычно не требует вмешательства пользователя. Когда пользователь пытается запустить приложение только для Intel в первый раз, macOS предлагает ему установить Rosetta 2, если оно еще не доступно. Последующие запуски программ x86 будут выполняться автоматически через перевод. Также существует возможность заставить универсальный двоичный файл запускаться как код Intel через Rosetta 2, даже на машине на базе ARM.

Смотрите также

Рекомендации

  1. ^ IMacs Core Duo представили новые быстрые чипы В архиве 3 марта 2012 г. Wayback Machine
  2. ^ а б Уоррен, Том (22 июня 2020 г.). «Apple переводит Mac на собственные процессоры, начиная с конца этого года». Грани. Получено 22 июня, 2020.
  3. ^ «Мозги Apple Rosetta: Transitive». CNET News.com. 8 июня 2005 г. В архиве из оригинала 14 июля 2014 г.. Получено 4 июля, 2007.
  4. ^ "Розетта". Яблоко. В архиве из оригинала 16 ноября 2010 г.. Получено 5 сентября, 2011.
  5. ^ а б AppleInsider Staff (26 февраля 2011 г.). «Mac OS X Lion удаляет Front Row, среду выполнения Java, Rosetta». AppleInsider. AppleInsider, Inc. В архиве из оригинала 29 апреля 2014 г.. Получено 27 февраля, 2011.
  6. ^ "Розетта" (PDF). Руководство по универсальному двоичному программированию, второе издание. Яблоко. Архивировано из оригинал (PDF) 3 августа 2012 г.. Получено 5 сентября, 2011.
  7. ^ "Что можно перевести?" (PDF). Руководство по универсальному двоичному программированию, второе издание. Яблоко. Архивировано из оригинал (PDF) 3 августа 2012 г.. Получено 5 сентября, 2011.
  8. ^ Мэйо, Бенджамин (22 июня 2020 г.). «Apple объявляет о переходе архитектуры Mac с Intel на собственные чипы ARM, предлагает путь эмуляции». 9to5Mac. Получено 23 июня, 2020.
  9. ^ Основной доклад WWDC2020. Apple Inc., 22 июня 2020 г. Событие происходит в 1 час 39 мин 37 сек. Он переводит приложения, когда вы их устанавливаете, поэтому они могут запускаться немедленно и мгновенно реагировать. Rosetta 2 также может переводить код на лету, когда это необходимо.

внешняя ссылка