Mac OS X (Мэк ОС Тэн, Мак ОС Десять) — операционная система фирмы Apple Inc. Основана на микроядре Mach и подсистеме BSD-UNIX университета Беркли, выпускается для компьютеров Macintosh (Макинтош) на базе процессоров PowerPC и Intel.
Описание
Mac OS X значительно отличается от предыдущих версий Mac OS. Основа системы — Darwin. Darwin — свободное программное обеспечение. Его ядром является XNU (рекурсивный акроним от «Xnu Not Unix» — «Xnu — не Юникс»), в котором используется ядро Mach и стандартные сервисы BSD. Все возможности Unix'а доступны через консоль. Поверх этой основы Apple разработано много проприетарных компонентов, таких как Quartz Composer и Finder.
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, C++, Objective-C, и 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. Это наследие весьма заметно для разработчиков на Cocoa — имена многих классов начинаются с «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, в отличие от предшественников, основана на ядре BSD. Это означает, что большинство программ, написанных для 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.[2]
Аппаратное обеспечение
Ранние версии Mac OS X поддерживали все компьютеры Macintosh (лаптопы, десктопы или серверы) на процессорах PowerPC G3, G4 и G5. Поздние версии Mac OS перестают поддерживать старое оборудование: например, Panther не поддерживает старые G3, Tiger не поддерживает системы без FireWire портов, бета версия Mac OS X Leopard, представленная на WWDC, не поддерживала G3 вообще. Однако существуют утилиты, такие как XPostFacto, и патчи к установочному диску, cделанные сторонними разработчиками, для установки новых версий 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, BSD-подобность. В некоторых сторонних программах сохранились эффекты из настольной версии, например, в прграмме Converter.
Хакинтош
Apple заявила, что Mac OS X не будет запускаться на Intel-основаных персональных компьютерах, которые не разработаны Apple, однако взломанные версии Mac OS X запускаются на x86 оборудовании. Они разрабатываются сообществом OSx86 и доступны посредством файлообменных сетей (см. хакинтош).
Выдающиеся возможности
Внутренняя модель графического слоя Quartz хорошо взаимодействует с Portable Document Format (PDF), делая возможным вывод PDF на различные устройства.
Полноцветные масштабируемые иконки.
Тени вокруг окон и изолированных текстовых элементов дают ощущение глубины.
Глобальные для приложений меню — проверка орфографии, палитра специальных символов, выбор цвета, выбор шрифта и словарь.
Сглаживание для виджетов, текста, графики и оконных элементов.
Новые элементы интерфейса, такие как дроеры (drawers) и диалоговые модальные окна для документа.
Новая концепция переключателя задач — док.
«Плавающий» фокус (Interweaving windows) при переключении между окнами различных приложений.
ColorSync использующийся для выбора цвета, встроен в библиотеки рисования, для печати или мультимедиа.
OpenGL используется для вывода окон на экран, что позволяет использовать аппаратное ускорение. Эта технология (появившаяся в 10.2) называется Quartz Extreme.
Dashboard (появившийся в версии 10.4) поддерживает небольшие приложения называемые виджетами (widgets) которые могут быть вызваны и спрятаны одним нажатием.
Exposé (появился в версии 10.3) — показывает все открытые окна как миниатюрные, позволяя между ними переключаться, показывает все документы приложения как миниатюры или скрывает все окна для доступа к рабочему столу.
Использует Unicode во всей операционной системе.
Хорошо спроектированная архитектура для локализации позволяет полностью отделить код приложения от текстовой информации.
FileVault (появился в версии 10.3) шифрует домашний каталог пользователя при помощи 128 битного AES.
Spotlight поисковая технология (появилась в версии 10.4) производит быстрый поиск данных, сообщений электронной почты, фотографий и другой информации в реальном времени. Основывается на свойствах файла и/или его содержимом.
Automator (появился в версии 10.4) — приложение, позволяющее автоматизировать действия совершаемые с разными приложениями.
«Связка ключей» (Keychain) — система управления паролями, сертификатами, ключами пользователя. Позволяет приложниям хранить подобные данные в едином зашифрованном хранилище. Приложения с разрешения пользователя могут обращаться к данным других приложений, хранящимся в «Связке ключей».
Умные папки (появившиеся в версии 10.4) позволяют создавать динамически обновляемые каталоги, зависящие от критерия поиска.
Хорошо определенный набор Human Interface Guidelines, которому следует большинство приложений делают их интуитивно понятными. Он состоит из элементов интерфейса и горячих клавиш.
Xgrid позволяет Макам участвовать в распределенных вычислениях.
Встроенные в виртуальную файловую систему дисковые образы .dmg поддерживают шифрование, сжатие и опциональную возможность чтения/записи.
Встроенные сервисы синхронизации (появились в версии 10.4) позволяют приложениям централизованного обращаться к расширяемой базе данных за различными элементами пользователя, такими как календарь, пароли или контакты. Операционная система управляет конфликтами и сохранностью данных.
Цена
Mac OS X включается в цену для новых компьютеров Apple Macintosh. Мелкие обновления могут быть загружены с помощью Software Update (Обновление Программного Обеспечения) и распространяются бесплатно. Более значительные обновления (до следующей версии операционной системы) стоят 129$ в США, в странах Европы €129, в России — около 4200 руб. ($187). Также есть версия Mac OS X «Family Pack», стоящая 199$ (в США) и разрешающая устанавливать ОС на пять (или менее) компьютеров — специально для пользователей, обладающих более чем одним Маком. Разработчики могут бесплатно зарегистрироваться на сайте Apple Developer Connection (ADC) и скачивать оттуда утилиты для разработки, такие как Xcode и документация. ADC также предлагает некоторые платные сервисы, включая лицензии для «тестирования и разработки» для релизов и бета версий Mac OS X. Для школьников, студентов и учащихся цена на лицензию составляет 50 %—90 % стандартной розничной. 7 января 2007 года серверная версия Mac OS X на 10 клиентов стоила 499$ (в США), а на неограниченное количество клиентов 999$ (в США).
Хронология версий
Версии Mac OS X:
10.0 Public Beta — 2000 год.
10.0 Cheetah (Гепард) — 2001 год.
10.1 Puma (Пума) — 2002 год.
10.2 Jaguar (Ягуар) — 2003 год.
10.3 Panther (Пантера) — 2004 год.
10.4 Tiger (Тигр) Build 8A428 29 апреля 2005
10.4.1 Build 8B15 16 мая 2005
10.4.2 Build 8C46 12 июля 2005
10.4.3 Build 8F46 31 октября 2005
10.4.4 Build 8G32 10 января 2006
10.4.5 (PowerPC) Build 8H14 14 февраля 2006
10.4.5 (Intel) Build 8G1454 14 февраля 2006
10.4.6 (PowerPC) Build 8I1119 3 апреля 2006
10.4.6 (Intel) Build 7U16 3 апреля 2006
10.4.7 (PowerPC) Build 8J135 27 июня 2006
10.4.7 (Intel) Build 8J2135 27 июня 2006
10.4.8 (PowerPC) Build 8L127 29 сентября 2006
10.4.8 (Intel) Build 8L2127 29 сентября 2006
10.4.9 (PowerPC) Build 8P135 13 марта 2007
10.4.9 (Intel) Build 8P2137 13 марта 2007
10.4.10 (PowerPC) Build 8R218 14 июня 2007
10.4.10 (Intel) Build 8R2218 20 июня 2007
10.4.11 (PowerPC) Build 8S165 14 ноября 2007
10.4.11 (Intel) Build 8S2167 14 ноября 2007
10.5 Leopard (Леопард) Build 9A581 — 26 октября 2007
10.5.1 Build 9B18 — 15 ноября 2007
10.5.2 Build 9С31 — 11 февраля 2008
10.5.3 Build 9D34 — 28 мая 2008
10.5.4 Build 9E17 — 1 июля 2008
10.6 Snow Leopard (Снежный барс) — 22 июля 2008
Cерверные версии Mac OS X Server:
1.0 — март 1999
10.1 — сентябрь 2001
10.2 — 24 августа 2002
10.3 — 24 октября 2003
10.4 — 29 апреля 2005
10.5 — 26 октября 2007