Введение

Слои операционной системы

Архитектура macOS описывает слои операционной системы, являющиеся результатом десятилетнего процесса исследований и разработок компании Apple Inc., направленного на замену классической Mac OS. После неудач предыдущих попыток — Pink, который начался как проект Apple, но затем превратился в совместное предприятие с IBM под названием Taligent, и Copland, запущенный в 1994 году и отмененный два года спустя — Apple приступила к разработке Mac OS X, позднее переименованной в OS X, а затем в macOS, после приобретения NeXTSTEP у компании NeXT в 1997 году.

Следующий шаг

NeXTSTEP использовал гибридное ядро, объединявшее ядро Mach 2.5, разработанное в Университете Карнеги — Меллона, с подсистемами из 4.3BSD. NeXTSTEP также представил новую оконную систему, основанную на Display PostScript, которая была призвана обеспечить более качественную реализацию принципа WYSIWYG, используя один и тот же язык для отображения содержимого как на мониторах, так и на принтерах. NeXT также включал инструменты объектно-ориентированного программирования на основе языка Objective-C, приобретенного у Stepstone, и набор фреймворков (или Kits), предназначенных для ускорения разработки программного обеспечения. Изначально NeXTSTEP работал на процессорах Motorola 68k, но впоследствии был портирован на процессоры Intel x86, Hewlett Packard PA-RISC и Sun Microsystems SPARC. В дальнейшем инструменты разработки и фреймворки были выпущены как OpenStep – платформа разработки, способная работать на других операционных системах.

Рапсодия

4 февраля 1997 года компания Apple приобрела NeXT и начала разработку операционной системы Rhapsody. Rhapsody была создана на основе NeXTSTEP, с переносом ядра системы на архитектуру PowerPC и добавлением переработанного пользовательского интерфейса, основанного на интерфейсе Platinum из Mac OS 8. Эмуляционный слой под названием Blue Box позволял запускать приложения Mac OS внутри реальной инсталляции Mac OS, а также предоставлял интегрированную платформу Java. Инструменты разработки и фреймворки Objective-C, известные как Yellow Box, также были доступны отдельно для Microsoft Windows. Проект Rhapsody в конечном итоге увенчался успехом и стал результатом всех усилий Apple по разработке нового поколения Mac OS, которое в итоге было выпущено в виде Mac OS X Server.

Mac OS X

На Всемирной конференции разработчиков 1998 года (WWDC) Apple объявила о шаге, предпринятом в ответ на недовольство разработчиков программного обеспечения для Macintosh двумя доступными опциями (Yellow Box и Blue Box) в Rhapsody. Mac OS X добавила бы ещё один API для разработчиков к существующим в Rhapsody. Ключевые API из Macintosh Toolbox были реализованы в Mac OS X для непосредственного запуска на BSD-уровнях операционной системы, а не в эмулированном слое Macintosh. Этот модифицированный интерфейс, получивший название Carbon, устранил около 2000 проблемных вызовов API (из общего числа около 8000) и заменил их вызовами, совместимыми с современной ОС. На той же конференции Apple объявила об обновлении Mach-части ядра с использованием исходного кода из OSFMK 7.3 (Open Source Foundation Mach Kernel), а BSD-части ядра – с использованием исходного кода из проектов FreeBSD, NetBSD и OpenBSD. На WWDC 1999 года Apple представила Quartz – новую оконную систему для операционной системы, основанную на Portable Document Format (PDF), которая не облагалась лицензионными сборами перед Adobe, в отличие от оконной системы Display PostScript в NeXTSTEP. Apple также объявила о переименовании слоя Yellow Box в Cocoa и о постепенном отказе от обязательств по предоставлению Yellow Box для Windows. На этой WWDC Apple впервые продемонстрировала загрузку Mac OS X с диска, отформатированного в HFS Plus. Первым публичным релизом Mac OS X для пользователей стала публичная бета-версия, выпущенная 13 сентября 2000 года.