Darwin
Разработчик Apple Inc.
Семейство ОС Unix
Основана на NeXTSTEP и FreeBSD
Исходный код открытый
Последняя версия 23.0.0 (2023) (26 апреля 2022; 2 года назад (2022-04-26))
Поддерживаемые платформы PowerPC, x86, ARM
Тип ядра XNU
Интерфейс Командная строка
Лицензия Лицензия Apple на ПО с открытым исходным кодом
Состояние Актуальное
Репозиторий исходного кода github.com/apple/darwin-…
Предыдущая NeXTSTEP
Веб-сайт developer.apple.com/open…

Darwin — открытая POSIX-совместимая операционная система, выпущенная Apple Inc. в 2000 году. Она совмещает код, написанный самой Apple, с полученным от NeXTSTEP (система выпущена в 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 выпускала исполняемую версию (в виде образа компакт-диска) после каждого крупного выпуска 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.

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

[править | править код]
Временная шкала UNIX-подобных операционных систем.

Производные проекты

[править | править код]

Так как 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[1]. После прекращения поддержки OpenDarwin и выпуска загрузочных образов, начиная с Darwin 8.x, становилось всё труднее создавать полноценную операционную систему, поскольку многие компоненты становились закрытыми. В 2015 году в рамках проекта был создан предварительный выпуск на основе Darwin 9 с графическим интерфейсом X11[2], за которым последовала только бета-версия командной строки 17.4 на основе Darwin 17[3].

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

[править | править код]
Window Maker в XDarwin

См. также

[править | править код]

Примечания

[править | править код]
  1. PureDarwin | Moving the Darwin Community in the Right Direction! Дата обращения: 14 сентября 2021. Архивировано 11 апреля 2010 года.
  2. Xmas · PureDarwin/PureDarwin Wiki · GitHub. Дата обращения: 14 сентября 2021. Архивировано 3 декабря 2019 года.
  3. GitHub - PureDarwin/PD-17.4-Beta: Beta vmdk for the community. Дата обращения: 14 сентября 2021. Архивировано 13 декабря 2019 года.

Ссылки

[править | править код]