logo
Отчеты по Курсовой Работе / Мельчикова 8-78-2 и Хикматуллина 8-78-1

Совместимость Mac os X

Программное обеспечение

Для обеспечения гладкого перехода с Mac OS 9 на Mac OS X был создан Carbon. Приложение, написанное с помощью Carbon, может запускаться на любой из этих ОС. С другой стороны, Mac OS X наследует многое из OpenSTEP, которая не является обратно-совместимой с другими версиями Mac OS. В данный момент Apple рекомендует API, именуемый Cocoa, и там наследие OpenSTEP весьма заметно — имена многих классов начинаются с «NS» (NSObject, NSArray), что является аббревиатурой от NeXTSTEP.

Также Mac OS X поддерживает Java. Это означает, что приложения, написанные на Java и использующие Swing, выглядят так же, как и приложения, использующие Cocoa. Традиционно приложения под Cocoa разрабатываются на Objective C, альтернативе Java. Однако 25 июля 2007 года Apple заявила, что дальнейшие расширения в Cocoa не будут портированы на Java. В составе Mac OS X, начиная с версии 10.5 Leopard, поставляется интерпретатор Ruby с поддержкой Cocoa.

В отличие от предшественниц, Mac OS X является полноценной, сертифицированной UNIX’03 операционной системой. Это означает, что большинство программ, написанных для BSD, Linux и других UNIX-подобных систем, скомпилируются и будут работать на Mac OS X почти или же вовсе без дополнительных изменений в коде. Для удобной установки таких программ разработаны менеджеры пакетов, такие как Fink или MacPorts (ранее — DarwinPorts). Они подобны apt в Debian или портам во FreeBSD.

Начиная с версии 10.3, Mac OS X по умолчанию также включает в себя X11.app — адаптированную версию X-сервера. Это позволяет запускать на Mac OS X приложения, разработанные для X11 — с использованием gtk, Qt для X11 (Qt4 поддерживает Mac OS X как в режиме X11, так и в обычном режиме Aqua) и прочих. Для вывода на экран X11.app использует Quartz. Однако X11.app имеет ряд проблем, таких как отсутствие Aqua-стиля в оформлении приложений и неполную поддержку Unicode.

Более ранние версии ОС могут запускать X-сервер через XDarwin (англ.).

Mac OS X основана на ядре XNU, созданном на основе микроядра Mach 3.0.

Аппаратное обеспечение

Ранние версии Mac OS X поддерживали все компьютеры Macintosh (лаптопы, десктопы или серверы) на процессорах PowerPC G3, G4 и G5. Более поздние версии перестают поддерживать старое оборудование: например, версия 10.3 Panther не поддерживает старые G3, 10.4 Tiger не поддерживает системы без портов FireWire, бета-версия 10.5 Leopard, представленная на WWDC, не поддерживала G3 вообще. Однако существуют утилиты, такие как XPostFacto, и патчи к установочному диску, сделанные сторонними разработчиками, для установки новых версий Mac OS X на оборудовании, официально не поддерживаемым Apple, включая некоторые до-G3 системы. Исключая некоторые возможности, требуемые оборудованием (такие, как графическое ускорение, запись DVD), операционная система предлагает одинаковую функциональность на всём поддерживаемом оборудовании.

Версия Mac OS X для PowerPC остаётся совместимой со старыми Mac OS приложениями через эмуляцию так называемой Classic, которая позволяет пользователям запускать Mac OS 9 как процесс в Mac OS X, поэтому многие старые приложения запускаются так, как будто под старой операционной системой. Classic не поддерживает компьютеры на процессорах Intel.

В апреле 2002 года eWeek сообщил слух о том, что у Apple есть версия Mac OS X с кодовым названием Marklar, которая запускается на процессорах Intel x86. Идея Marklar была в переходе Mac OS X на альтернативную платформу, которая позволит Apple преодолеть проблемы развития платформы PowerPC. Слухи оставались не подтверждёнными до мая 2005 года, когда в файлообменных сетях появилась версия Mac OS X для процессоров Intel.

6 июня 2005 года Стив Джобс подтвердил слухи и сообщил на WWDC, что в течение двух лет Apple перейдёт с PowerPC на процессоры Intel. До этого Apple меняла платформу с Motorola 68K на IBM/Motorola PowerPC — Apple включила эмулятор Motorola 68K в новую ОС, которая позволяла запускать большинство 68K-приложений. Apple поддерживала эмулятор в течение 11 лет; однако, при переходе на Intel, он был удалён. В новую OS был включён эмулятор PowerPC, который называется Rosetta. Также, новая версия XCode и соответствующие консольные утилиты позволяют разрабатывать universal binaries (fat binaries) — исполняемые файлы, которые могут содержать в себе поддержку нескольких платформ (ppc, ppc64, i386, …).

Сейчас большинство приложений, которые доступны только для PowerPC, поддерживается при помощи эмулятора Rosetta. Однако Apple просит разработчиков создавать универсальные приложения для обеих платформ. Универсальные приложения запускаются быстрее на компьютерах с процессором Intel, чем приложения для PowerPC, запускаемые с помощью эмулятора Rosetta. Некоторое программное обеспечение для PowerPC, такое, как расширения ядра и плагины системных настроек (System Preferences), не поддерживаются на компьютерах с процессорами Intel.

В то время, когда MacIntel могут запускать приложения для PowerPC, x86 и универсальные, PowerPC Маки могут запускать только универсальные и PowerPC приложения. Поддержка платформы PowerPC осталась в Mac OS X 10.5. Джобс также подтвердил слух, что новая версия Mac OS X запускалась на Intel процессорах большую часть своего существования, так как кросс-платформеность уже существовала в Mac OS X — OpenSTEP был портирован на множество платформ, включая x86, и Darwin включил поддержку для обоих (PowerPC и x86).

Mac OS X была портирована на iPhone и iPod touch. Несмотря на серьезные изменения — например, закрытость платформы и отсутствие рабочего стола (его заменяет SpringBoard) — в порте сохранились такие особенности, как Darwin, ядро XNU. В некоторых сторонних программах сохранились эффекты из настольной версии — например, в программе Converter.