Darwin

Darwin
GNOME 2 running on openDarwin (2004).png
Разработчик Apple Inc.
Семейство ОС Unix
Исходный код открытый
Последняя версия
Поддерживаемые платформы PowerPC, x86, ARM
Тип ядра Гибридное
Интерфейс Командная строка
Лицензия Лицензия Apple на ПО с открытым исходным кодом[d]
Состояние Актуальное
Веб-сайт 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 присутствуют в Mac OS X по сей день.

До Darwin 8.0 Apple выпускала исполняемую версию (в виде образа компакт-диска) после каждого крупного выпуска Mac OS X, позволяя устанавливать 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.

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

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

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

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

Временная шкала UNIX-подобных операционных систем.
  • 1.3.1 — Mac OS X 10.0, 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)

См. также

Примечания

Ссылки