Darwin (операційна система)

Darwin
РозробникApple Inc.
Написано наC, C++
Родина ОСUnix
Робочий станCurrent
Вихідна модельOpen source
Репозиторій
ПлатформиPowerPC, x86, ARM
Тип ядрагібридне
Інтерфейс
користувача
графічний
ЛіцензіяMostly Apple Public Source License, with proprietary drivers[1]
Apple — Open Source

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 підтримує 32- та 64-бітні процесори PowerPC та Intel x86, які використовуються у Macintosh та Apple TV, а також 32-бітні процесори ARM, які використовуються у iPhone, iPod Touch та iPad.

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

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

  • 0.1 — Mac OS X Server 1.0 (16 березня 1999)
  • 1.0 — Mac OS X DP4 (Darwin 1.0.2) (5 квітня 2000)
  • 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 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.2 — 19 березня 2008 року
  • 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 — Mac OS X 10.8 (Mountain Lion)

Див. також

Window Maker на XDarwin
  • GNUstepвільна реалізація OpenStep, об'єктно-орієнтованого API (Objective-C) для об'єктно-орієнтованих операційних систем.
  • WebKit — рушій виведення для вебсторінок.

Примітки

  1. Binary Drivers required for PureDarwin. Архів оригіналу за 15 лютого 2012. Процитовано 20 липня 2009. [Архівовано 2012-02-18 у Wayback Machine.]

Посилання