Darwin — відкрита POSIX-сумісна операційна система, видана Apple Inc. в 2000 році. Вона поєднує код, написаний самою Apple з отриманим з NeXTSTEP, FreeBSD та інших вільних проєктів. Darwin являє собою набір основних компонентів, які використовуються у Mac OS X та Apple iOS. Його також можна запустити як окрему систему (хоча Apple більше не займається дистрибуцією цього ПЗ). Він сумісний з третьою версією специфікації єдиної UNIX (SUSv3) та POSIX-додатками та утилітами. Darwin доступне в бінарному вигляді для процесорів архітектур PowerPC та x86, вихідні коди офіційного дерева ядра доступні для архітектур PowerPC та i386.
Darwin — нащадок розробленої в NeXT операційної системи NeXTSTEP (пізніше відомої як OpenSTEP), перша версія котрої вийшла в 1989 році. Після того, як Apple поглинула NeXT в 1997 році, вона заявила, що зробить свою наступну операційну систему на основі OpenSTEP. Ця система розроблялася в межах проєкту 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 успадкувала від 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