Разработчик | Apple Inc. |
---|---|
Написано на | C, C ++, Objective-C, язык ассемблера |
Семейство ОС | Unix-like |
Рабочее состояние | Текущее |
Исходная модель | Открытый исходный код |
Первый выпуск | 15 ноября 2000 г.; 19 лет назад (2000-11-15) |
Последний выпуск | 19.6.0 (1 июня 2020 г.; 4 месяца назад (2020-06-01)) |
Репозиторий | https: // github.com / apple / darwin-xnu |
Платформы | Текущие: x86-64, 64-битные ARM. Исторические: PowerPC, IA-32, 32-битный ARM (поддержка 32-битного ARM была закрытой) |
Ядро тип | Гибрид |
По умолчанию пользовательский интерфейс | Интерфейс командной строки |
Лицензия | В основном лицензия Apple Public Source License (APSL) с драйверами с закрытым исходным кодом |
Официальный сайт | с открытым исходным кодом.apple.com |
Darwin - это открытый источник Unix-like операционная система, впервые выпущенная Apple. Inc. в 2000 году. Он состоит из кода, разработанного Apple, а также кода, производного от NeXTSTEP, BSD, Mach и других бесплатное программное обеспечение проектов.
Дарвин формирует основной набор компонентов, на основе которого macOS (ранее OS X и Mac OS X), iOS, watchOS, tvOS и iPadOS. Он в основном POSIX -совместим, но сам по себе никогда не был сертифицирован как совместимый с какой-либо версией POSIX. Начиная с Leopard, macOS сертифицирована как совместимая со спецификацией Single UNIX Specification версии 3 (SUSv3).
Наследие Дарвина началось с операционной системы NeXT NeXTSTEP (позже, начиная с версии 4.0, известная как OPENSTEP), впервые выпущенная в 1989 году. После того, как Apple купила NeXT в 1997 году, она объявила, что будет основывать свою следующую операционную систему на OPENSTEP. Это было развито в Rhapsody в 1997 году, Mac OS X Server 1.0 в 1999 году, Mac OS X Public Beta в 2000 году и Mac OS X 10.0. в 2001 году.
В 1999 году Apple объявила о выпуске микроядра Mach 2.5, ОС BSD Unix 4.4 и компонентов веб-сервера Apache для Mac OS X Server. В то время исполняющий обязанности генерального директора Стив Джобс сослался на британца натуралиста Чарльза Дарвина, заявив, что «потому что речь идет об эволюции». В 2000 году основные компоненты операционной системы Mac OS X были выпущены как программное обеспечение с открытым исходным кодом под Apple Public Source License (APSL) как Darwin; компоненты более высокого уровня, такие как структуры Cocoa и Carbon, оставались закрытым исходным кодом.
. До Darwin 8.0.1 Apple выпустила двоичный установщик (как ISO-образ ) после каждого основного выпуска Mac OS X, который позволял устанавливать Darwin в системах PowerPC и Intel x86 в качестве отдельной операционной системы. Незначительные обновления были выпущены в виде пакетов, которые устанавливались отдельно. Darwin теперь доступен только как исходный код, за исключением варианта ARM, который не был выпущен ни в какой форме отдельно от iOS, watchOS или tvOS. Любитель-разработчик winocm взял официальный исходный код Darwin и перенес его на ARM.
Упрощенная история Unix-подобных операционных систем.Ядро Darwin - это XNU, гибридное ядро , которое использует OSFMK 7.3 (Open Software Foundation Mach Kernel) из OSF, различные элементы FreeBSD (включая модель процесса, сетевой стек и виртуальную файловую систему ), а также объектно-ориентированный драйвер устройства API называется I / O Kit. Гибридный дизайн ядра обеспечивает гибкость микроядра и производительность монолитного ядра.
Darwin в настоящее время включает поддержку 64- бит x86-64 вариант процессоров Intel x86 , используемых в Mac и 64-битных ARM, используемые в iPhone 5S, iPod Touch 6-го поколения, iPad Air, Apple TV четвертого поколения, оригинальные HomePod и более поздние модели, а также 32-битные процессоры ARM, используемые в iPhone 5C и более ранних, более ранних поколениях iPod Touch, iPad до четвертого поколения, а также Apple TV второго и третьего поколения. Существует порт с открытым исходным кодом для ядра XNU, который поддерживает Darwin на платформах Intel и AMD x86, официально не поддерживаемых Apple, хотя, похоже, он не обновлялся с 2009 года. Порт с открытым исходным кодом ядра XNU также существует для платформ ARM. Более старые версии поддерживали некоторые или все 32-битные PowerPC, 64-битные PowerPC и 32-битные x86.
Он поддерживает POSIX API посредством своей BSD родословной (в основном FreeBSD userland) и большого количества программ, написанных для различных других UNIX-подобные системы могут быть скомпилированы на Дарвине без изменений исходного кода .
Дарвин не включает многие определяющие элементы macOS, такие как Carbon и Cocoa API или пользовательский интерфейс Quartz Compositor и Aqua, и поэтому не могут запускать приложения Mac. Однако он поддерживает ряд менее известных функций macOS, таких как mDNSResponder, который является ответчиком multicast DNS и основным компонентом Bonjour сетевые технологии и launchd, расширенная структура управления услугами framework.
В июле 2003 года Apple выпустила Darwin под версией 2.0 документа Лицензия Apple Public Source License (APSL), которую Фонд свободного программного обеспечения (FSF) классифицирует как лицензию бесплатного программного обеспечения, несовместимую с Стандартной общественной лицензией GNU. Предыдущие версии были выпущены под более ранней версией лицензии APSL, которая не соответствовала определению бесплатного программного обеспечения FSF, хотя и соответствовала требованиям Определение открытого исходного кода.
Ниже приводится таблица основных выпусков Darwin с датами их выпуска и соответствующими выпусками macOS. Обратите внимание, что соответствующий выпуск macOS мог быть выпущен в другую дату; см. соответствующие даты на страницах macOS.
Версия | Дата | Соответствующие выпуски | Примечания |
---|---|---|---|
0,1 | 16 марта 1999 г. | Mac OS X Server Выпуски 1.0 |
|
0.2 | 14 апреля 1999 г. | Mac OS X Server 1.0.1 | |
0.3 | 5 августа 1999 г. | На основе Rhapsody 5.5
| |
1.0 | 12 апреля 2000 г. | Предварительный просмотр разработчика 3
| |
1.1 | 5 апреля 2000 г. | Предварительная версия для разработчиков 4 | |
1.2.1 | 15 ноября 2000 г. | Mac OS X Public Beta (кодовое название «Kodiak») | |
1.3.1 | 13 апреля 2001 г. | Mac OS X v10.0 (кодовое название «Cheetah») |
|
1.4.1 | 2 октября 2001 г. | Mac OS X v10.1 (под кодовым названием «Puma») | |
5.1 | 12 ноября 2001 г. | Mac OS X v10.1.1
| |
5.5 | 5 июня 2002 г. | Mac OS X v10.1.5 | |
6.0.1 | 23 сентября 2002 г. | Mac OS X v10.2 (кодовое название "Jaguar") |
|
6.8 | 3 октября, 2003 | Mac OS X v10.2.8 | |
7.0 | 24 октября 2003 г. | Mac OS X Panther | Mac OS X v10.3.0
|
7.9 | 15 апреля 2005 г. | Mac OS X v10.3.9 | |
8.0 | 29 апреля 2005 г. |
| Mac OS X v10.4.0
|
8.11 | 14 ноября 2007 г. | Mac OS X v10.4.11 | |
9.0 | 26 октября 2007 г. | Mac OS X v10.5.0
| |
9.8 | 5 августа 2009 г. | Mac OS X v.10.5.8 | |
10.0 | 28 августа 2009 г. | Mac OS X v10.6.0
| |
10.8 | 23 июня 2011 г. | Mac OS X v10.6.8 | |
11.0.0 | 20 июля 2011 г. | Mac OS X v10.7.0
| |
11.4.2 | 4 октября 2012 г. | Mac OS X v10.7.5 (дополнительно) | |
12.0.0 | Февраль 16, 2012 | OS X Mountain Lion | OS X v10.8.0
|
12.6.0 | 27 января 2015 г. | OS X v10.8.5 (с обновлением безопасности 2015-001) | |
13.0.0 | 11 июня 2013 г. | OS X v10.9.0
| |
13.4.0 | 17 сентября 2014 г. | OS X v10.9.5 | |
14.0.0 | 18 сентября 2014 г. | OS X v10.10.0 | |
14.5.0 | 13 августа 2015 г. | OS X v10.10.5 | |
15.0.0 | 16 сентября 2015 г. | OS X v10.11.0 и iOS 9.0
| |
15.6.0 | 18 июля 2016 г. | OS X v10.11.6 и iOS 9.3.3 | |
16.0.0 | 13 сентября 2016 г. | macOS v10.12.0 и iOS 10.0.1 (начальная версия выпуска)
| |
16.5.0 | 27 марта 2017 г. | macOS v10.12.4 и iOS 10.3 | |
16.6.0 | 19 июля 2017 г. | macOS v10.12.6 и iOS 10.3. 3 | |
17.0.0 | 19 сентября 2017 г. |
| |
17.5.0 | Март 29, 2018 | macOS 10.13.4
| |
17.6.0 | 1 июня 2018 г. | macOS v10.13.5 | |
17.7.0 | 9 июля 2018 г. | macOS v10.13.6 и iOS 11.4.1 | |
18.0.0 | 24 сентября 2018 г. | ||
18.2.0 | 30 октября 2018 г. | macOS v10.14.1 и iOS 12.1
| |
19.0.0 | 19 сентября 2019 г. | ||
19.2.0 | 10 декабря 2019 г. | macOS 10.15.2 и iOS 13.3 | |
19.3.0 | 28 января 2020 г. | macOS 10.15.3 и iOS 13.3.1
| |
19.4.0 | 24 марта 2020 г. | ||
19.5.0 | 30 апреля 2020 г. | macOS 10.15.5 и iOS 13.5 | |
19.6.0 | 1 июня 2020 г. | macOS 10.15.6 beta 2 и iOS 13.6.0 beta 2 | |
20.0.0 | 22 июня 2020 г. | macOS 11.0 beta 1 и iOS 14.0 beta 1 | |
20.1.0 | 3 сентября 2020 г. | macOS 11.0 beta 6 |
Переход номеров версий с Darwin 1.4.1 на 5.1 с выпуском Mac OS X v10.1.1 был разработан для того, чтобы связать Дарвина с версией Mac OS X и системой нумерации сборки, который, в свою очередь, унаследован от NeXTSTEP. В системе нумерации сборок macOS каждая версия имеет уникальный начальный номер сборки, который определяет, частью какой целой версии macOS она является. Mac OS X v10.0 имеет номера сборки, начинающиеся с 4, 10.1 - номера сборки, начинающиеся с 5, и так далее (более ранние номера сборки представляли версии для разработчиков).
Команда uname -r в Терминале будет показан номер версии Darwin, а команда uname -v отобразит строку версии сборки XNU, которая включает номер версии Darwin.
Из-за природы Дарвина бесплатного программного обеспечения, были проекты, направленные на изменение или улучшение операционной системы.
OpenDarwin был управляемой сообществом операционной системой, основанной на системе Дарвина. Он был основан в апреле 2002 года компаниями Apple Inc. и Консорциумом интернет-систем. Его целью было расширение сотрудничества между разработчиками Apple и сообществом свободного программного обеспечения. Apple выиграла от этого проекта, потому что улучшения OpenDarwin будут включены в выпуски Darwin; Сообщество свободного / открытого исходного кода извлекло выгоду из того, что ему был предоставлен полный контроль над собственной операционной системой, которую затем можно было использовать в таких дистрибутивах свободного программного обеспечения, как GNU-Darwin.
25 июля 2006 г. команда OpenDarwin объявила что проект закрывается, поскольку, по их мнению, OpenDarwin «превратился в простой хостинг для проектов, связанных с Mac OS X», и что попытки создать автономную операционную систему Darwin потерпели неудачу. Они также заявляют: «Этому способствовали доступность источников, взаимодействие с представителями Apple, сложность создания и отслеживания источников, а также отсутствие интереса со стороны сообщества». Последним стабильным выпуском была версия 7.2.1, выпущенная 16 июля 2004 года.
PureDarwin - это проект по созданию загрузочного образа операционной системы из выпущенного Apple исходного кода для Darwin. После прекращения использования OpenDarwin и выпуска загрузочных образов, начиная с Darwin 8.x, становится все труднее создать полноценную операционную систему, поскольку многие компоненты становятся закрытыми. Проекту удалось создать рождественский выпуск на основе Darwin 9 с графическим интерфейсом X11 и командной строкой только 17.4 Beta на основе Darwin 17.