Перейти до вмісту

Rosetta

Матеріал з Вікіпедії — вільної енциклопедії.
Rosetta
ТипДвійковий переклад PowerPC (оригінальна версія)
двійковий переклад Intel (Rosetta 2)
РозробникApple Inc.
Операційна системаMac OS X 10.4.4–10.6.8 (Intel)
macOS Big Sur 11.0–дотепер (ARM)

Rosetta — ефективний динамічний транслятор, розроблений Apple Inc., для macOS, рівня сумісності додатків між різними архітектурами центрального процесора. Він надає розробникам та споживачам перехідний період для оновлення їх прикладного програмного забезпечення для роботи на новішому обладнанні.

Перша версія Rosetta, представлена в 2006 році, дозволяє запускати програми PowerPC на комп'ютерах Mac на базі Intel. Друга версія, представлена ​​в 2020 році, є компонентом macOS Big Sur для допомоги у переході Mac на Apple Silicon з процесорів Intel.[1] Назва «Rosetta» — це посилання на Розеттський камінь, артефакт, що дозволив перекладати єгипетські ієрогліфи.[2]

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», але її можна зберегти як опцію за допомогою програми встановлення або Apple Software Update. Розетта не входить і не підтримується в Mac OS X v10.7 «Lion» або пізніших версіях, тому не може запускати програми PowerPC.

Розетта перекладає інструкції G3, G4 та AltiVec, але не інструкції G5. Незважаючи на те, що більшість комерційних програм для Mac на базі PowerPC були сумісні з цими вимогами, будь-які програми, які покладались на набори команд, специфічні для G5, повинні були бути модифіковані їх розробниками для роботи на Mac, що підтримуються Rosetta. Apple порадила, що додатки з інтенсивними взаємодіями користувачів, але з низькими обчислювальними потребами (наприклад, текстові процесори) найкраще підходять для Rosetta, тоді як програми з високими обчислювальними потребами (наприклад, AutoCAD, ігри чи Adobe Photoshop) не підійдуть.[4]

Rosetta також не підтримує наступне:[5]

  • Класичне середовище, а отже, будь-яка не Carbon програма, створена для Mac OS 9 або новішої версії
  • Код, який вставляє налаштування в область Системних налаштувань
  • Програми, які вимагають точної обробки винятків
  • Заставки
  • Розширення ядра та додатки, які залежать від них
  • Комплектні додатки Java або програми Java з бібліотеками JNI, які неможливо перекласти
  • Аплети Java у програмах, перекладених Rosetta, що означає, що для завантаження аплетів Java потрібно використовувати рідну програму браузера Intel, а не застарілу версію PowerPC.

Причина зниженої сумісності Rosetta порівняно з попереднім Apple 68k емулятором для PPC полягає в його реалізації. Розетта — це програма на рівні користувача, яка може лише перехоплювати та імітувати код на користувацькому рівні. На відміну від Rosetta, 68k емулятор отримує доступ до найнижчих рівнів ОС, перебуваючи на тому самому рівні і тісно пов'язаний з наноядром Mac OS на PPC Маках, що означає, що наноядро здатне перехоплювати переривання PowerPC, переводити їх у 68k переривань (потім, якщо потрібно, перемикач змішаного режиму), а потім виконує 68k код для обробки переривань. Це дозволяє чергувати рядки 68k та код PPC в одному і тому ж двійковому «файлі жиру».

Rosseta 2

[ред. | ред. код]

Rosseta 2 включена в macOS Big Sur, щоб допомогти Mac перейти з процесорів Intel на Apple Silicon.[1][6] На додаток до підтримки перекладу «вчасно» (JIT), доступної в Rosetta, Rosetta 2 включає підтримку перекладу програми під час встановлення.[7]

Примітки

[ред. | ред. код]
  1. а б Warren, Tom (22 червня 2020). Apple is switching Macs to its own processors starting later this year. The Verge (англ.). Архів оригіналу за 17 листопада 2021. Процитовано 14 вересня 2020.
  2. Core Duo iMacs debut speedy new chips [Архівовано 2020-09-14 у Wayback Machine.]
  3. Shankland, Stephen. The brains behind Apple's Rosetta: Transitive. CNET (англ.). Архів оригіналу за 1 березня 2016. Процитовано 14 вересня 2020.
  4. Rosetta (PDF). Universal Binary Programming Guidelines, Second Edition. Apple. Архів оригіналу (PDF) за 14 вересня 2020. Процитовано 5 вересня 2011.
  5. What Can Be Translated? (PDF). Universal Binary Programming Guidelines, Second Edition. Apple. Архів оригіналу (PDF) за 14 вересня 2020. Процитовано 5 вересня 2011.
  6. Mayo, Benjamin (22 червня 2020). Apple announces Mac architecture transition from Intel to its own ARM chips, offers emulation path. 9to5Mac (амер.). Архів оригіналу за 12 вересня 2020. Процитовано 14 вересня 2020.
  7. WWDC2020 Keynote. Apple Inc. 14-09-2020. Подія сталася на 1h39m37s. Архів оригіналу за 18 вересня 2020. Процитовано 14 вересня 2020. Він перекладає програми, коли ви їх встановлюєте, тож вони можуть миттєво запускатися та матимуть миттєвий відклик. І також Rosetta 2 може зразу перекладати код, коли вам знадобиться.

Посилання

[ред. | ред. код]