Darwin — открытая POSIX-совместимая операционная система, которая была выпущена Apple Inc. в 2000 году. Она совмещает код, написанный самой Apple, с полученным от NeXTSTEP от NeXT (система выпущена в 1989), FreeBSD (выпущена в 1993) и прочих свободных проектов. Система Darwin представляет собой набор основных компонентов, используемых в macOS и iOS. Она совместима с третьей версией спецификации единой UNIX (SUSv3) и POSIX-приложениями и утилитами.

История Darwin — наследник разработанной в NeXT операционной системы NeXTSTEP, первая версия которой вышла в 1989 году. После того, как Apple поглотила NeXT в 1997 году, она объявила, что сделает свою следующую операционную систему на основе OpenSTEP API системы NeXTSTEP. Эта система разрабатывалась в рамках проекта Rhapsody с 1997 года и в 1999 году вышел основанный на этих разработках Mac OS X Server 1.0. В 2000 году Rhapsody был выделен в Darwin, выпущенный как свободное программное обеспечение в рамках публичной лицензии на исходный код Apple (APSL) и компоненты Darwin присутствуют в macOS по сей день.

До Darwin 8.0 Apple выпускала исполняемую версию (не в виде DVD, а в виде образа компакт-диска) после каждого крупного выпуска macOS, позволяя устанавливать Darwin на компьютеры с архитектурой PowerPC и Intel x86 как отдельную операционную систему. Мелкие обновления выпускались в виде пакетов, которые можно было установить отдельно. На данный момент Darwin доступен только в исходных кодах, за исключением версии для ARM, которая вообще никак не была выпущена отдельно от iOS.

Устройство

Ядро Darwin построен на основе XNU — гибридного ядра, включающего микроядро Mach 3, некоторые части ОС семейства BSD (такие как модель процессов, сетевой стек, виртуальная файловая система) и I/O Kit — объектно-ориентированный API для написания драйверов.

Некоторые преимущества от выбора такого ядра составляет использование формата Mach-O, позволяющего в одном исполняемом файле (включая само ядро) поддерживать несколько архитектур процессоров и возможности SMP в ядре. Гибридный дизайн ядра — это компромисс между гибкостью микроядер и производительностью монолитных решений.

Поддержка аппаратного и программного обеспечения На данный момент Darwin поддерживает 32- и 64-битные процессоры PowerPC и Intel x86, используемые в Macintosh, а также 32- и 64-битные процессоры ARM, используемые в iPhone, iPod touch, iPad, Apple TV и Mac.

Darwin унаследовал от BSD поддержку POSIX API и поэтому множество программ, написанных под различные UNIX-подобные системы, может быть собрано под Darwin без изменения своего исходного кода.

Darwin и macOS используют I/O Kit в своих драйверах, поддерживая одно и то же оборудование, файловые системы и прочее. Apple распространяет Darwin с проприетарными драйверами для своих сетевых карт AirPort.

Darwin не включает в себя многие элементы macOS, такие как Carbon и Cocoa API или композитор Quartz и пользовательский интерфейс Aqua, поэтому он не может запускать приложения для Mac.

Хронология версий

1.3 - Mac OS X 10.0 1.3.1 — Mac OS X 10.0.1, 10.0.2, 10.0.3, 10.0.4 1.4.1 — Mac OS X 10.1 5.1 — Mac OS X 10.1.1 5.2 — Mac OS X 10.1.2 5.3 — Mac OS X 10.1.3 5.4 — Mac OS X 10.1.4 5.5 — Mac OS X 10.1.5 6.0 — Mac OS X 10.2 (Jaguar) 6.1 — Mac OS X 10.2.1 (Jaguar) 6.2 — Mac OS X 10.2.2 (Jaguar) 6.3 — Mac OS X 10.2.3 (Jaguar) 6.4 — Mac OS X 10.2.4 (Jaguar) 6.5 — Mac OS X 10.2.5 (Jaguar) 6.6 — Mac OS X 10.2.6 (Jaguar) 6.7 — Mac OS X 10.2.7 (Jaguar) 6.8 — Mac OS X 10.2.8 (Jaguar) 7.0 — Mac OS X 10.3 (Panther) 7.1 — Mac OS X 10.3.1 (Panther) 7.2 — Mac OS X 10.3.2 (Panther) 7.3 — Mac OS X 10.3.3 (Panther) 7.4 — Mac OS X 10.3.4 (Panther) 7.5 — Mac OS X 10.3.5 (Panther) 7.6 — Mac OS X 10.3.6 (Panther) 7.7 — Mac OS X 10.3.7 (Panther) 7.8 — Mac OS X 10.3.8 (Panther) 7.9 — Mac OS X 10.3.9 (Panther) 8.0 — Mac OS X 10.4 (Tiger) 9.2.0 — Mac OS X 10.5.2 (Leopard) 9.3.0 — Mac OS X 10.5.3 (Leopard) 9.5.0 — Mac OS X 10.5.5 (Leopard) 9.6.0 — Mac OS X 10.5.6 (Leopard) 9.7.0 — Mac OS X 10.5.7 (Leopard) 9.8.0 — Mac OS X 10.5.8 (Leopard) 10.0.0 — Mac OS X 10.6 (Snow Leopard) 10.1.0 — Mac OS X 10.6.1 (Snow Leopard) 10.2.0 — Mac OS X 10.6.2 (Snow Leopard) 10.3.0 — Mac OS X 10.6.3 (Snow Leopard) 10.4.0 — Mac OS X 10.6.4 (Snow Leopard) 10.5.0 — Mac OS X 10.6.5 (Snow Leopard) 10.6.0 — Mac OS X 10.6.6 (Snow Leopard) 10.7.0 — Mac OS X 10.6.7 (Snow Leopard) 10.8.0 — Mac OS X 10.6.8 (Snow Leopard) 11.0.0 — Mac OS X 10.7 (Lion) 12.0.0 — OS X 10.8 (Mountain Lion) 13.0.0 — OS X 10.9 (Mavericks) 14.0.0 — OS X 10.10 (Yosemite) 15.0.0 — OS X 10.11 (El Capitan) 16.0.0 — macOS 10.12 (Sierra) 17.0.0 — macOS 10.13 (High Sierra) 18.0.0 — macOS 10.14 (Mojave) 19.0.0 — macOS 10.15 (Catalina) 20.0.0 — macOS 11 (Big Sur) 21.0.0 — macOS 12 (Monterey) 22.0.0 — macOS 13 (Ventura) 23.0.0 — macOS 14 (Sonoma) 24.0.0 — macOS 15 (Sequoia) 25.0.0 — macOS 26 (Tahoe)

Производные проекты Так как Darwin является бесплатным и свободным программным обеспечением, были созданы проекты, направленные на изменение или улучшение операционной системы.

OpenDarwin OpenDarwin — операционная система, созданная и разрабатывающаяся сообществом. Основана в апреле 2002 года Apple Inc. и Internet Systems Consortium. Целью проекта было расширение сотрудничества между разработчиками Apple и сообществом свободного программного обеспечения. Улучшения и изменения, появляющиеся в OpenDarwin, включались в выпуски Darwin, что было выгодно корпорации Apple; в свою очередь сообществу свободного / открытого программного обеспечения было выгодно работать с корпорацией, так как ему был предоставлен полный контроль над своей собственной операционной системой, которую затем можно было использовать в таких дистрибутивах свободного программного обеспечения, как GNU-Darwin.

25 июля 2006 года команда OpenDarwin объявила, что проект закрывается, так как они чувствовали, что OpenDarwin «превратился в простой хостинг для проектов, связанных с macOS», и что попытки создать автономную операционную систему Darwin потерпели неудачу. «Этому способствовали доступность источников, взаимодействие с представителями Apple, трудности с созданием и отслеживанием источников, а также отсутствие интереса со стороны сообщества». Последним стабильным выпуском была версия 7.2.1, выпущенная 16 июля 2004 г.

PureDarwin PureDarwin — это проект по созданию загрузочного образа операционной системы, основанного на исходном коде Darwin. После прекращения поддержки OpenDarwin и выпуска загрузочных образов, начиная с Darwin 8.x, становилось всё труднее создавать полноценную операционную систему, поскольку многие компоненты становились закрытыми. В 2015 году в рамках проекта был создан предварительный выпуск на основе Darwin 9 с графическим интерфейсом X11, за которым последовала только бета-версия командной строки 17.4 на основе Darwin 17.

Другие производные проекты

XQuartz (XDarwin) — для OS X (Darwin) представляет собой полноценное программное средство системы X Window System. GNUstep — свободная реализация Cocoa (ранее OpenStep) — объектно-ориентированного API (Objective-C) для объектно-ориентированных операционных систем. Window Maker — менеджер окон для X Window System, позволяющий запускать графические приложения на Unix-подобных операционных системах. Он был разработан, чтобы эмулировать интерфейс NeXT, как OpenStep-совместимое окружение. Étoilé — свободная среда рабочего стола для UNIX-подобных операционных систем основанная на GNUstep и написанная с нуля. MacPorts — система для установки программного обеспечения, распространяемого в исходных кодах, для операционной системы macOS и Darwin. GNU-Darwin — проект по переносу пакетов свободного программного обеспечения на операционные системы macOS и Darwin. Образ ОС создаётся и распространяется аналогично Linux-дистрибутивам.

Примечания

Ссылки Apple Public Source License ISO-образы на opensource.apple.com ISO-образ и описание Darwin 8.0.1

Категория:MacOS Категория:ОС семейства BSD