MacOS

macOS  (изначально представлена как Mac OS X, в 2012 году переименована в OS X, в 2016 году переименована в macOS) — проприетарная операционная система компании Apple. Является преемницей Mac OS 9.

Семейство операционных систем macOS является вторым по распространённости для десктопа (после Windows). Рыночная доля macOS (учитываются все версии) по состоянию на февраль 2022 года составляет около 15,76 % по оценкам StatCounter. Самой популярной версией macOS является Catalina (83,36 % среди всех версий macOS), следом идут Mojave (5,64 %), High Sierra (5,05 %), Sierra (2,1 %), El Capitan (1,56 %), Yosemite (1,21 %).

В macOS используется ядро XNU, основанное на микроядре Mach и содержащее программный код, разработанный компанией Apple, а также код из ОС NeXTSTEP и FreeBSD. До версии 10.3 ОС работала только на компьютерах с процессорами PowerPC. Выпуски 10.4 и 10.5 поддерживали как PowerPC-, так и Intel-процессоры. Начиная с 10.6, macOS стала работать только с процессорами Intel, а с выходом macOS 11 — и с процессорами Intel, и Apple Silicon.

В последние годы отмечается взаимная интеграция macOS и iOS — операционной системы для мобильных устройств Apple (iPhone, iPad и iPod touch). Сама компания рассматривает две ОС как единую платформу. На презентации Back to the Mac в 2010 году Стив Джобс, анонсируя OS X Lion, упомянул о важности обмена наработками между Mac OS X и iOS: так, в Lion появилась поддержка мультитач-жестов на трекпаде (аналогичных жестам на iPad). В последующих выпусках macOS также наблюдалась тенденция к заимствованию функций из iOS (и наоборот). Например, в OS X Yosemite и iOS 8 была добавлена технология Handoff, позволяющая «перехватывать» с одного устройства приложения, запущенные на другом: начать набирать письмо на Mac, а закончить на iPad; открыть веб-страницу на iPhone и продолжить чтение на Mac и т. д.

На WWDC 2016 было объявлено, что OS X будет переименована в macOS, чтобы соответствовать общей стилистике именования других платформ Apple: tvOS, watchOS, iPadOS и iOS; macOS Sierra стала первой версией, использующей новое название.

Описание 
macOS значительно отличается от предыдущих, «классических версий» Mac OS. Основа системы — POSIX-совместимая операционная система Darwin, являющаяся свободным программным обеспечением. Её ядром является XNU, в котором используется микроядро Mach и стандартные службы BSD. Все возможности Unix в macOS доступны через эмулятор терминала.

Поверх этой основы в Apple разработано много проприетарных компонентов, таких как Cocoa и Carbon, Quartz.

macOS отличается высокой устойчивостью, что делает её непохожей на предшественницу, Mac OS 9.

В macOS (как и в любой UNIX-системе) используется вытесняющая многозадачность и защита памяти, позволяющие запускать несколько изолированных друг от друга процессов, которые не могут ни прерывать, ни изменять друг друга. На архитектуру macOS повлияла OpenStep, которая была задумана как переносимая операционная система (например, NeXTSTEP была перенесена с оригинальной платформы 68k компьютера NeXT до приобретения NeXTSTEP компанией Apple). Аналогичным образом OpenStep была перенесена на PowerPC в рамках проекта Rhapsody.

Наиболее заметно изменился графический интерфейс, который в macOS получил название Aqua. Использование закруглённых углов, полупрозрачных элементов и светлых полосок также повлияло на внешний вид первых моделей iMac. После выхода первой версии Mac OS X другие разработчики тоже стали использовать интерфейс Aqua. Для предотвращения использования своего дизайна на других платформах Apple воспользовалась услугами юристов.

Основами macOS являются:
 Подсистема с открытым кодом — Darwin (ядро Mach и набор утилит BSD).
 Среда программирования Core Foundation (Carbon API, Cocoa API и Java API).
 Графическая среда Aqua (QuickTime, Quartz Extreme и OpenGL).
 Технологии Core Image, Core Animation, CoreAudio и CoreData.

Совместимость

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

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

В отличие от предшественниц, macOS является полноценной сертифицированной операционной системой UNIX. Это означает, что большинство программ, написанных для BSD, Linux и других UNIX-подобных систем, скомпилируется и будет работать на macOS без (или почти без) изменений в коде. Для удобной установки таких программ разработаны менеджеры пакетов, такие как Homebrew, Fink или MacPorts (ранее — DarwinPorts). Они подобны APT в Debian, RPM в Red Hat и родственным ему Linux-дистрибутивам или портам.

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

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

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

6 июня 2005 года Стив Джобс на WWDC подтвердил слухи о том, что в течение двух лет Apple перейдёт с PowerPC на Intel. До этого Apple сменила платформу с Motorola 68k на PowerPC — тогда в новую ОС был включён эмулятор m68k, который позволял запускать большинство 68k-приложений. Apple поддерживала эмулятор в течение 11 лет. При переходе на Intel он был удалён из системы. В новую ОС был включён эмулятор PowerPC Rosetta. Также новая версия Xcode и соответствующие консольные утилиты позволяют разрабатывать Universal Binaries — исполняемые файлы, которые могут запускаться как на PowerPC, так и на Intel.

Большинство программ, доступных только для PowerPC, поддерживалось при помощи Rosetta. Скорость работы PowerPC-приложений на компьютерах с Intel заметно ниже. Кроме того, некоторое ПО (например, расширения ядра и плагины системных настроек) не работает с использованием эмулятора. По этим причинам Apple рекомендовала разработчикам создавать универсальные программы для обеих платформ. В OS X Lion и более поздних версиях поддержка Rosetta отсутствует.

Обратная совместимость x86-приложений отсутствует. Последней версией Mac OS X, поддерживающей PowerPC, является 10.5 Leopard.

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

Хакинтош 

Несмотря на заявление Apple о невозможности запуска macOS на сторонних x86-компьютерах, существуют модифицированные версии ОС, работающие на таких машинах. Эти версии разрабатываются сообществом OSx86 и доступны посредством файлообменных сетей. Стоит учесть, что лицензионное соглашение с конечным пользователем (EULA) OS X запрещает установку системы на компьютеры, не помеченные фирменным знаком Apple ().

Летом 2008 года был представлен метод установки немодифицированной (в том числе законно приобретённой) Mac OS X с помощью модифицированного загрузчика Boot-132.

По состоянию на 2023 год, Hackintosh может потерять актуальность, в связи с переходом на платформу Apple Silicon.

Особенности 
 Внутренняя модель графического слоя Quartz хорошо взаимодействует с Portable Document Format (PDF), делая возможным вывод PDF на различные устройства.
 Полноцветные масштабируемые значки.
 Тени вокруг окон и изолированных текстовых элементов дают ощущение глубины и визуально отделяют содержимое одного окна от других.
 Доступные для всех приложений меню — проверка орфографии, палитра специальных символов, выбор цвета, выбор шрифта и словарь.
 Сглаживание при отображении виджетов, текста, графики и оконных элементов.
 Новые элементы интерфейса, такие как дроверы (drawers) и диалоговые модальные окна для документа.
 Новая концепция переключателя задач — док.
 «Плавающий» фокус (Interweaving windows) при переключении между окнами различных приложений.
 ColorSync, использующийся для согласования цветопередачи, встроен в библиотеки рисования, для печати и мультимедиа.
 OpenGL используется для вывода окон на экран, что позволяет использовать аппаратное ускорение. Данная технология, появившаяся в версии 10.2 Jaguar, называется Quartz Extreme.
 Spaces — поддержка нескольких рабочих столов.
 Dashboard, появившийся в версии 10.4 Tiger, поддерживает небольшие приложения, называемые виджетами (widgets), которые могут быть вызваны и скрыты одним нажатием.
 Exposé, появившийся в версии 10.3 Panther, показывает миниатюры всех открытых окон, позволяя переключаться между ними, показывает все документы приложения как миниатюры или скрывает все окна для доступа к рабочему столу.
 Использование Unicode во всей операционной системе.
 Хорошо спроектированная архитектура для локализации позволяет полностью отделить код приложения от текстовой информации.
 FileVault, появившийся в версии 10.3 Panther, шифрует домашний каталог пользователя (начиная с OS X Lion возможно полное шифрование диска) по алгоритму AES с длиной ключа 128 бит.
 Spotlight — технология для быстрого поиска данных, сообщений электронной почты, фотографий и другой информации, основываясь на свойствах файлов и их содержимом.
 Automator — приложение, позволяющее автоматизировать действия, совершаемые с разными приложениями.
 Связка ключей — система управления паролями, сертификатами и ключами пользователя. Позволяет приложениям хранить подобные данные в едином зашифрованном хранилище. Приложения с разрешения пользователя могут обращаться к данным других приложений, хранящимся в «Связке ключей».
 Смарт-папки позволяют создавать динамически обновляемые каталоги, основанные на определённых критериях или исполняющие команды Automator.
 Подробное руководство по построению интерфейса Human Interface Guidelines, которому следует большинство разработчиков, делает их приложения интуитивно понятными.
 Xgrid позволяет компьютерам Mac участвовать в распределённых вычислениях.
 Встроенные в виртуальную файловую систему дисковые образы .dmg поддерживают шифрование, сжатие и опциональную возможность чтения/записи.
 Встроенные сервисы синхронизации позволяют приложениям централизовано обращаться к расширяемой базе данных за различными данными пользователя, такими как календарь, пароли или контакты. Операционная система управляет разрешением конфликтов и сохранностью данных.
 Mac App Store — магазин программного обеспечения для macOS. Появился в версии 10.6.6.

Цена 
macOS и обновления в пределах одного выпуска входят в стоимость всех новых компьютеров Mac. Обновление до последней версии в Mac App Store было платным до версии 10.8 включительно (Lion стоила 29,99 $, Mountain Lion — 19,99 $). Мелкие обновления системы, были доступны для бесплатной загрузки с помощью Mac App Store (в Lion и более ранних версиях — через системное приложение «»).

Начиная с версии 10.9 Mavericks, система доступна бесплатно.

Разработка для macOS 
Разработчики могут бесплатно зарегистрироваться на сайте Apple Developer и загружать документацию по проектированию приложений. Xcode (IDE для macOS) доступен для бесплатной загрузки из Mac App Store.

Для использования всех доступных ресурсов необходимо оформить подписку стоимостью 99 $ в год. После этого у разработчика появляется возможность загружать предварительные (developer preview) версии macOS и Xcode, а также публиковать приложения в Mac App Store.

Публичное бета-тестирование 
В 2014 году Apple запустила программу публичного бета-тестирования версий macOS, находящихся в разработке. Для участия в программе необходимо зарегистрироваться на её сайте и скачать специальную утилиту. После её установки и перезагрузки компьютера у пользователя появляется возможность загружать ещё не выпущенные версии macOS, а также отправлять отзывы и сообщения об ошибках с помощью приложения Feedback Assistant.

В 2015 году такая же программа была запущена для iOS.

Примечания

Литература 
 
 
 Amit Singh. Mac OS X Internals: A Systems Approach. — Pearson Education, Inc, 2007. — 1641 c. — ISBN 0-321-27854-2.

Ссылки 

 
 Страница Darwin OS на сайте Apple
 История ОС Mac OS
 Свободное ПО для macOS
 Страница macOS Server в Mac App Store

 
Операционные системы на основе микроядер
Apple