Архитектура 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 , и набор Frameworks (или 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 . [1] Инструменты разработчика Objective-C и Frameworks назывались Yellow Box и также были доступны отдельно для Microsoft Windows . Проект Rhapsody в конечном итоге принес плоды всех усилий Apple по разработке нового поколения Mac OS, которая в конечном итоге вышла в форме Mac OS X Server .
На Всемирной конференции разработчиков (WWDC) 1998 года Apple объявила о шаге, который был задуман как ответ на жалобы разработчиков программного обеспечения для Macintosh, которые были недовольны двумя вариантами (Yellow Box и Blue Box), доступными в Rhapsody. Mac OS X добавит еще один API разработчика к уже существующим в Rhapsody. Ключевые API из Macintosh Toolbox будут реализованы в Mac OS X для работы непосредственно на уровнях BSD операционной системы, а не в эмулируемом уровне Macintosh. Этот измененный интерфейс, названный Carbon , устранит примерно 2000 проблемных вызовов API (из примерно 8000 в общей сложности) и заменит их вызовами, совместимыми с современной ОС. [2]
На той же конференции Apple объявила, что сторона Mach ядра была обновлена с использованием исходных кодов из OSFMK 7.3 (операционная система MK Open Source Foundation) [3] , а сторона BSD ядра была обновлена с использованием исходных кодов из проектов FreeBSD , NetBSD и OpenBSD . [2] Они также анонсировали новую модель драйвера под названием I/O Kit, предназначенную для замены Driver Kit, используемого в NeXTSTEP, ссылаясь на отсутствие в Driver Kit управления питанием и возможностей горячей замены, а также на отсутствие возможности автоматической настройки. [4]
На 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 года.