Глава X. Darwin / macOS
NeXTSTEP: Unix для рабочей станции
После увольнения из Apple в 1985 году Стив Джобс основал NeXT Computer. Он хотел создать "идеальный" компьютер для университетов и научных исследований: мощный, графический, с объектно-ориентированной операционной системой. В основе NeXTSTEP лежал микроядро Mach (разработанное в Carnegie Mellon University) и код BSD 4.3. Надстройкой шёл объектно-ориентированный фреймворк на Objective-C — языке, который тогда был нишевым и странным.
NeXTSTEP была элегантной и опережала время: графическая оболочка Interface Builder, тьюринговски полный язык скриптования, продуманный до мелочей пользовательский интерфейс. Первые веб-серверы и браузеры (включая первый браузер CERN и первый веб-сервер) разрабатывались именно на NeXTSTEP. Тим Бернерс-Ли использовал NeXTcube, когда изобретал Всемирную паутину.
Коммерчески NeXT провалилась: компьютеры были слишком дорогими, а рынок не был готов к объектно-ориентированным фреймворкам. Но техническое наследие NeXTSTEP осталось.
Mach: микроядро в основе
Mach был попыткой переосмыслить ядро операционной системы. В отличие от монолитного ядра Unix (где всё — от драйверов до сетевого стека — работает в пространстве ядра), Mach реализует минимальный набор функций: управление задачами, потоками, межпроцессное взаимодействие и управление памятью. Файловые системы, драйверы и сеть работают как пользовательские серверы.
NeXTSTEP использовала Mach 2.5, который сочетал микроядро с монолитными компонентами — так называемый "гибрид". Код BSD был встроен прямо в ядро Mach, что ускоряло работу, но компрометировало "чистоту" микроядерной архитектуры. Тем не менее, именно эта архитектура позволила NeXTSTEP быть переносимой: NeXTSTEP работала на Motorola 68000, Intel x86, SPARC и PA-RISC.
Возвращение Джобса и покупка NeXT
К 1997 году Apple находилась в глубочайшем кризисе. Стив Джобс был изгнан, компания теряла деньги миллиардами долларов, операционная система Mac OS 9 безнадёжно устарела. Попытка создать новую систему (Taligent, Copland) провалилась. У Apple не было ни технологий, ни времени начинать с нуля.
Решение было принято на董事会: Apple купила NeXT в декабре 1996 года за 429 миллионов долларов. Вместе с компанией вернулся Стив Джобс — сначала как временный, а затем как полноправный CEO. NeXTSTEP стала фундаментом для следующей операционной системы Apple, которая получила название Mac OS X (позже переименована в macOS).
Darwin: открытая основа macOS
Ядро новой системы было названо XNU (X is Not Unix). Это гибрид: Mach 3.0 (микроядро) + компоненты FreeBSD + объектно-ориентированный драйверный фреймворк I/O Kit. Вся система была построена поверх XNU с добавлением графической оболочки Aqua, Carbon и Cocoa (унаследованный от NeXTSTEP фреймворк).
Darwin — это открытая часть macOS, распространяемая под лицензией APSL (Apple Public Source License). Он включает ядро XNU, командную оболочку, основные утилиты, библиотеки и драйверы. Пользователь может загрузить Darwin и запустить его на совместимом оборудовании, но практического смысла в этом мало: Apple поставляет Darwin только как часть macOS.
Darwin не получил популярности. Причина — лицензия APSL, которую Фонд свободного ПО считает не вполне свободной, и отсутствие графического интерфейса. Но для нас Darwin важен как символ: проприетарная компания Apple использует открытый Unix-код в качестве фундамента своего продукта.
macOS — сертифицированный Unix
В 2007 году macOS получила официальную сертификацию UNIX 03 (Single UNIX Specification). Это означало, что Apple прошла строгий набор тестов POSIX и Single UNIX Specification, подтвердив, что macOS — это настоящий Unix, а не просто Unix-подобная система.
macOS стала единственной широко распространённой персональной операционной системой (помимо коммерческих Unix вроде AIX, HP-UX и Solaris), которая может официально называться "Unix". Это признание на уровне стандарта: командная строка macOS ведёт себя как настоящий Unix, сигналы, процессы, файловые дескрипторы — всё работает по канонам, заложенным сорок лет назад.
Заключение
История Darwin и macOS — это история о том, как Unix-технология пережила смерть своего создателя (NeXT) и стала сердцем одной из самых успешных потребительских платформ в истории. Стив Джобс не смог продать NeXTSTEP массам в 1988 году, но в 2001 году он сделал это через Mac OS X. Неплохая окупаемость для "провального" проекта.
Комментарии
Комментарии пока не подключены.