Mac OS X (Мэк ОС Тэн, Мак ОС Десять) — POSIX-совместимая операционная система корпорации Apple. Основана на микроядре Mach и некоторых подсистемах BSD 4.4, выпускается для компьютеров Macintosh (Макинтош) на базе процессоров PowerPC и Intel. Вместе с Mac OS вторая по популярности в мире операционная система (рыночная доля в мае 2009 года — 9,81).
Описание
Mac OS X значительно отличается от предыдущих версий Mac OS. Основа системы — Darwin. Darwin — свободное программное обеспечение. Его ядром является XNU (рекурсивный акроним от «Xnu Not Unix» — «Xnu — не Юникс»), в котором используется ядро Mach и стандартные сервисы BSD. Все возможности Unix доступны через консоль.
Поверх этой основы в Apple разработано много проприетарных компонентов, таких как API Cocoa и Carbon, Quartz.
Mac OS X включает множество возможностей, делающих её более стабильной, чем предыдущую версию Mac OS 9.
В Mac OS X используется вытесняющая многозадачность и защита памяти, позволяющие запускать несколько процессов, которые не могут прервать или повредить друг друга. На архитектуру Mac OS X повлияла OpenSTEP, которая была задумана как портируемая операционная система. К примеру, NeXTSTEP была портирована с оригинальной платформы 68k компьютера NeXT, до того как NeXTSTEP была куплена Apple. Так и OpenSTEP была портирован на PowerPC в рамках проекта Rhapsody.
Наиболее заметным изменением была тема Aqua. Использование закруглённых углов, полупрозрачных цветов и светлых полосок также повлияло и на внешний вид аппаратного обеспечения первых iMac. Некоторым пользователям это не понравилось, они считали это непрофессиональным. Другие были довольны и считали это новым шагом вперёд. После выхода первой версии Mac OS X другие разработчики тоже стали использовать дизайн Aqua. Для предотвращения использования своего дизайна на других платформах, Apple воспользовалась услугами юристов.
Mac OS X также включает среду разработки программного обеспечения Xcode, которая позволяет разрабатывать программы на нескольких языках, включая Си, C++, Objective-C, Ruby и Java. Она поддерживает компиляцию в так называемые «универсальные программы» (Universal Binary), которые могут запускаться на нескольких платформах (x86, PowerPC), так же, как «fat binaries» использовались для запуска одного приложения на 68k и PowerPC платформах.
Основами Mac OS X являются:
Подсистема с открытым кодом — Darwin (ядро Mach, набор утилит BSD).
Среда программирования Core Foundation (Carbon API, Cocoa API и Java API).
Графическая среда Aqua (QuickTime, Quartz Extreme и OpenGL).
Технологии CoreImage, CoreAudio и CoreData.
Совместимость
Для обеспечения гладкого перехода с 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, GNU/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 (QT 4.0 поддерживает Mac OS X) и прочих. Для вывода на экран 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.
Хакинтош
Apple заявила, что Mac OS X не будет запускаться на Intel-основаных персональных компьютерах, которые не разработаны Apple, однако взломанные версии Mac OS X запускаются на x86-оборудовании Intel. Они разрабатываются сообществом OSx86 и доступны посредством файлообменных сетей, однако запуск Mac OS X на компьютерах, выпущенных не фирмой Apple, нелегален, так как противоречит условиям лицензии на операционную систему.
(c)wikipedia.org