Darwin | |
---|---|
Разработчик | Apple Inc. |
Семейство ОС | Unix |
Основана на | NeXTSTEP и FreeBSD |
Исходный код | открытый |
Последняя версия | 23.0.0 (2023) (26 апреля 2022 ) |
Поддерживаемые платформы | 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.
Так как Darwin является бесплатным и свободным программным обеспечением, были созданы проекты, направленные на изменение или улучшение операционной системы.
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 — это проект по созданию загрузочного образа операционной системы, основанного на исходном коде Darwin[1]. После прекращения поддержки OpenDarwin и выпуска загрузочных образов, начиная с Darwin 8.x, становилось всё труднее создавать полноценную операционную систему, поскольку многие компоненты становились закрытыми. В 2015 году в рамках проекта был создан предварительный выпуск на основе Darwin 9 с графическим интерфейсом X11[2], за которым последовала только бета-версия командной строки 17.4 на основе Darwin 17[3].