Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Логотип, используемый для обозначения универсального приложения

Универсальный двоичный формат, в компании Apple просторечия, формат для исполняемых файлов , которые работают изначально на любой PowerPC или Intel -manufactured IA-32 или Intel 64 или ARM64 - Macintosh компьютеры. Формат возник на NeXTStep как « многоархитектурные двоичные файлы », и эта концепция более широко известна как толстый двоичный файл , как это видно на Power Macintosh .

С выпуском Mac OS X Snow Leopard и до этого, после перехода на 64-битные архитектуры в целом, некоторые издатели программного обеспечения, такие как Mozilla [1] , использовали термин «универсальный» для обозначения толстого двоичного файла, который включает сборки для систем i386 (32-бит Intel) и x86_64. Тот же механизм, который используется для выбора между сборками приложения PowerPC или Intel, также используется для выбора между 32-разрядными или 64-разрядными сборками архитектур PowerPC или Intel.

Apple, однако, продолжала требовать встроенной совместимости как с PowerPC, так и с Intel, чтобы предоставить сторонним издателям программного обеспечения разрешение на использование товарных знаков Apple, связанных с универсальными двоичными файлами. [2] Apple не указывает, должны ли такие сторонние издатели программного обеспечения (или должны) объединять отдельные сборки для всех архитектур.

Универсальные двоичные файлы были представлены в Mac OS на Всемирной конференции разработчиков Apple в 2005 году как средство облегчения перехода от существующей архитектуры PowerPC к системам на базе процессоров Intel, поставки которых начались в 2006 году. Универсальные двоичные файлы обычно включают версии PowerPC и x86. составленное приложение. Операционная система обнаруживает универсальный двоичный файл по его заголовку, и выполняет соответствующий раздел для архитектуры в использовании. Это позволяет приложению работать изначально на любой поддерживаемой архитектуре без отрицательного воздействия на производительность, кроме увеличения пространства хранения, занимаемого более крупным двоичным файлом.

Начиная с Mac OS X Snow Leopard, поддерживаются только компьютеры Mac на базе Intel, поэтому программное обеспечение, которое конкретно зависит от возможностей, представленных только в Mac OS X 10.6 или новее, будет работать только на компьютерах Mac на базе Intel и, следовательно, не требует толстых двоичных файлов Intel / PPC. . Кроме того, начиная с OS X Lion , поддерживаются только 64-битные компьютеры Intel Mac, поэтому программное обеспечение, которое конкретно зависит от новых функций в OS X 10.7 или новее, будет работать только на 64-битных процессорах и, следовательно, не требует 32-битных / 64-битных бит жирные двоичные файлы. [3] [4] Толстые двоичные файлы необходимы только для программного обеспечения, которое разработано для обеспечения обратной совместимости со старыми версиями Mac OS X, работающими на старом оборудовании.

Новый двоичный формат Universal 2 был представлен на Всемирной конференции разработчиков 2020 года. [5] Универсальная 2 позволяет приложениям работать как на Intel x86-64 -На и ARM64 -На Macintosh компьютеры, для того, чтобы переход к Apple , кремний .

Мотивация [ править ]

Есть два общих альтернативных решения. Первый - просто предоставить два отдельных двоичных файла, один скомпилирован для архитектуры x86, а другой - для архитектуры PowerPC. Однако это может сбивать с толку пользователей программного обеспечения, незнакомых с разницей между ними, хотя путаницу можно исправить с помощью улучшенной документации или использования гибридных компакт-дисков . Другая альтернатива - полагаться на эмуляцию одной архитектуры системой, на которой запущена другая архитектура. Такой подход приводит к снижению производительности и обычно рассматривается как временное решение, которое следует использовать только до тех пор, пока не будут доступны универсальные двоичные файлы или специально скомпилированные двоичные файлы, как в случае с Rosetta .

Универсальные двоичные файлы больше, чем двоичные файлы для одной платформы, потому что необходимо хранить несколько копий скомпилированного кода. Однако, поскольку некоторые неисполняемые ресурсы совместно используются двумя архитектурами, размер результирующего универсального двоичного файла может быть и обычно меньше, чем оба двоичных файла вместе взятых. Они также не требуют дополнительной оперативной памяти, поскольку для выполнения загружается только одна из этих двух копий.

История [ править ]

Концепция универсального двоичного файла возникла с « Multi-Architecture Binaries » в NeXTSTEP , главной архитектурной основой Mac OS X . NeXTSTEP поддерживает универсальные исполняемые файлы так , что один исполняемый образ может работать на нескольких архитектур, включая Motorola 's m68k , Intel ' s x86 , Sun Microsystems 'ы SPARC , и Hewlett-Packard ' s PA-RISC . NeXTSTEP и macOS используют архив Mach-O в качестве двоичного формата, лежащего в основе универсального двоичного файла.

Apple ранее использовала подобную технику при переходе от процессоров 68k к PowerPC в середине 1990-х годов. Эти двухплатформенные исполняемые файлы называются толстыми двоичными файлами , что связано с их большим размером файла.

Xcode 2.1 от Apple поддерживает создание этих файлов - новую функцию в этом выпуске. Простое приложение, разработанное с учетом независимости от процессора, может потребовать очень небольшого количества изменений для компиляции в качестве универсального двоичного файла, но сложное приложение, разработанное для использования преимуществ специфичных для архитектуры функций, может потребовать существенной модификации. Приложения, изначально созданные с использованием других инструментов разработки, могут потребовать дополнительных изменений. Эти причины объясняются задержкой между выпуском компьютеров Macintosh на базе Intel и появлением сторонних приложений в универсальном двоичном формате. Поставки Apple компьютеров на базе Intel на несколько месяцев раньше объявленного ранее графика - еще один фактор в этом пробеле.

Apple Xcode 2.4 развивает концепцию универсальных двоичных файлов еще дальше, позволяя создавать двоичные файлы с четырьмя архитектурами (32- и 64-разрядные для Intel и PowerPC), что позволяет одному исполняемому файлу в полной мере использовать возможности ЦП любого Машина Mac OS X.

Универсальные приложения [ править ]

Многие разработчики программного обеспечения предоставляют универсальные бинарные обновления для своих продуктов после WWDC 2005 года. По состоянию на декабрь 2008 года на веб-сайте Apple было представлено более 7500 универсальных приложений. [6]

16 апреля 2007 года Adobe Systems объявила о выпуске Adobe Creative Suite 3 , первой версии пакета приложений в универсальном двоичном формате. [7]

С 2006 по 2010 год многие приложения Mac OS X были перенесены в универсальный двоичный формат, включая QuarkXPress , собственную Final Cut Studio от Apple , Adobe Creative Suite , Microsoft Office 2008 и Shockwave Player с версией 11 - после этого большинство из них были сделаны только для Intel Программы. Неуниверсальные 32-разрядные программы PowerPC будут работать на компьютерах Intel Mac под управлением Mac OS X 10.4, 10.5 и 10.6 (в большинстве случаев), но с неоптимальной производительностью, поскольку они должны быть переведены на лету с помощью Rosetta ; они не будут работать в Mac OS X 10.7 Lion и более поздних версиях, поскольку Rosetta больше не является частью ОС.

iOS [ править ]

Apple использовала тот же двоичный формат, что и универсальные двоичные файлы для приложений iOS, по умолчанию в нескольких случаях архитектурного сосуществования: примерно в 2010 году во время перехода armv6-armv7-armv7s и примерно в 2016 году во время перехода armv7-arm64. App Store автоматически разжижает двоичные файлы. Для этой практики не было получено никаких торговых наименований, так как это забота только разработчика. [8]

Универсал 2 [ править ]

22 июня 2020 года, Apple анонсировала два года постоянный переход от Intel x86-64 -Ы процессоры ARM64 - Apple , кремний , начиная с MacOS Big Sur в конце 2020 г. [9] , чтобы помочь в этом переходе, новый универсальные 2 двоичный файл был введен, чтобы приложения могли запускаться на процессорах на базе x86-64 или на процессорах на базе ARM64. [5]

Инструменты [ править ]

Основным инструментом для обработки (создания или разделения) универсальных двоичных файлов является lipoкоманда Xcode . Команда fileв macOS и некоторых других Unix-подобных системах может определять универсальные двоичные файлы Mach-O и сообщать о поддержке архитектуры. [10] Snow Leopard «s System Profiler предоставляет эту информацию на Applications вкладке.

См. Также [ править ]

  • Архитектура Apple – Intel
  • Переход Mac на процессоры Intel
  • Переход Mac на кремний Apple
  • Жир двоичный
  • Xslimmer , коммерческое приложение для Mac OS X, которое позволяет пользователю уменьшить объем универсальных двоичных файлов, удалив код платформы, который не используется.

Ссылки [ править ]

  1. ^ «Firefox 4 для Mac OS X: Under the Hood» . 10 ноября 2010 . Проверено 3 марта 2017 года .
  2. ^ «Универсальный логотип Mac OS X: Рекомендации по лицензированию универсального логотипа Mac OS X» (PDF) . Apple , Inc. июня 2007 . Проверено 18 октября 2013 года .
  3. ^ «Mac OS X: часто задаваемые вопросы о 64-битном ядре» . Корпорация Apple 4 октября 2012 . Проверено 18 октября 2013 года .
  4. ^ «Работает ли Mac OS X 10.7« Lion »на Mac с 32-битным EFI? Как производительность Mac OS X 10.7« Lion »сравнивается с Mac OS X 10.6« Snow Leopard »в« реальных »тестах? @ EveryMac.com " . everymac.com . Кайл Медиа . Проверено 6 октября 2017 года .
  5. ^ a b Аксон, Самуил (22 июня 2020 г.). «Это план Apple по отказу от Intel первых компьютеров Mac» . Ars Technica . Проверено 23 июня 2020 года .
  6. ^ «Руководство по продуктам Macintosh: универсальные приложения» . Компьютер Apple . Проверено 22 декабря 2008 года .
  7. ^ "Adobe Ships Creative Suite 3" . Adobe Systems . 16 апреля 2007 года в архив с оригинала на 8 июля 2012 года . Проверено 18 октября 2013 года .
  8. ^ «липо - жирные двоичные файлы iOS и прореживание» . Переполнение стека .
  9. Амадео, Рон (22 июня 2020 г.). «Apple анонсирует macOS 11« Big Sur »с упором на дизайн» . Ars Technica . Проверено 23 июня 2020 года .
  10. ^ stany (6 сентября 2005 г.). «Mac OS X: удаление жира из файлов с расширением Mach-O» . theconsultant.net . Проверено 18 октября 2013 года .

Внешние ссылки [ править ]

  • Центр ресурсов Apple Developer Transition
  • Рекомендации Apple по универсальному двоичному программированию