Результатом стало щось, що Apple назвала Rhapsody. Rhapsody була новою сучасною операційною системою для маківських користувачів зі знайомим маковским інтерфейсом, проте їй не вистачало сумісності з існуючими додатками під Mac OS. В 1999 р. Apple проголосила розробку в рамках "відкритих кодів" одним з ключових принципів своєї стратегії, і в березні 1999 р. з'явилися початкові тексти першої версії нового ядра (Дарвін). А давно очікуваний співтовариством користувачів Apple реліз Mac OS X вийшов 24 березня 2001 року.
За кодовою назвою Jaguar І
Ядро ОС Jaguar (як і всіх її попередниць, починаючи з NeXTStep) утілює до цього дня нереалізовану мрію багатьох відомих проектів – це заснована на відпрацьованому мікроядрі Mach (проект Університету Карнегі-Міллан) модульно-компонентна конструкція, що використовує в якості "інтерфейсних" сервісів напрацювання не менш відомого проекту BSD Unix. За час розвитку від NeXTStep до Mac OS X творці ядра ОС не змінили спочатку прийнятої ідеології, і сьогоднішня Jaguar на рівні ядра відрізняється хіба що технологічними нюансами (Mach 3.0 і "інтерфейсний" код, що запозичає з ОС FreeBSD версії 4.4). Враховуючи досвід багатьох комерційних проектів, ідеологи Mac OS X ухвалили досить нетрадиційне рішення, "відкривши" початкові коди ядра ОС і підкресливши його незалежність від всієї решти системи навіть "ім'ям власним" – Darwin (Дарвін). Оскільки початкові коди ядра доступні будь-якому розробнику, то ідеї співтовариства програмістів підсумовуються, аналізуються, і з них шикується готовий продукт. Творець UNIX Кен Томпсон називав такий метод програмування "комп'ютерним дарвінізмом". Найімовірніше, саме тому ядро Mac OS X одержало назву Дарвін.
Рис. 1.. Mac OS X (Jaguar)
Отже, для розробки ядра нової операційної системи Apple узяла за основу відкриту версію операційної системи UNIX – BSD 4.4 і створила нове мікроядро (kernel) – Mach 3.0. Спочатку ядро Mach було розроблено в Університеті Carnegie-Mellon при безпосередній участі Авадіса Тавеняна (який займав у свій час пост віце-президента компанії Apple по програмному забезпеченню).
Використання UNIX-ядра BSD дало багато переваг для Mac OS X. Перш за все, Дарвін забезпечує захист пам'яті. Саме цей механізм дозволяє Apple говорити про небувалу надійність нової ОС. Ще одним цікавим механізмом ядра Дарвін є механізм пріоритетної, або витісняючої, багатозадачності (preemptive multitasking), що забезпечує надійність одночасної роботи декількох додатків. Попередні версії Mac OS підтримували лише один спосіб розподілу ресурсів процесора між задачами – так звану кооперативну (сумісну) багатозадачність (cooperative multitasking), при якій задача, що дістала доступ до процесора, займає його до тих пір, поки потік команд від неї безперервний. Новий (для Mac OS) спосіб розподілу ресурсів процесора дозволяє уникнути " пригнічення " одних додатків іншими. Дарвін по цілому ряду критеріїв, таких як активність додатку, його вимоги до ресурсів процесора і т.п., визначає пріоритет кожної задачі і примусово розподіляє процесорний час відповідно до цих пріоритетів. Це дозволяє також уникнути простоїв процесора.
Mac OS X підтримує також і багатопроцесорність, забезпечуючи розподіл навантаження між процесорами оптимальним чином. Згадаємо також і систему віртуальної пам'яті, яка в Mac OS X дозволяє використовувати дисковий простір для підвищення продуктивності додатків, вимогливих до об'єму оперативної пам'яті. І хоча цей механізм застосовується практично у всіх ОС, творці Дарвіна за рахунок достатньо складних механізмів іменування об'єктів пам'яті домоглися істотного збільшення швидкості і ефективності його роботи.
Будучи заснованим на BSD UNIX, Дарвін підтримує всю "внутрішню кухню" BSD: в нього включена повна підтримка стандарту POSIX, що дає можливість виконувати будь-які UNIX-додатки, сумісні з цим стандартом; використовується UNIX-модель процесів (ідентифікатори процесів, сигнали та ін.); підтримуються потоки (або нитки – threads) UNIX, що дозволяє назвати Mac OS X не тільки багатозадачною, але й багатопотоковою системою, в якій кожний додаток має ряд паралельно виконуваних задач. Крім того, в Дарвіні застосовується політика безпеки UNIX (ідентифікатори користувача, повноваження, атрибути і т. п.).
Окрім "класичних" достоїнств "прихованої Unix на мікроядрі", розробники Apple створили ряд розширень функціональності, що представляють окремий інтерес. В першу чергу це відноситься до підсистеми NKE (Network Kernel Extensions – "мережні розширення ядра"), що дозволяє "на льоту" без необхідності перезавантаження або припинення роботи ОС фактично повністю змінювати не тільки параметри, але й саму організацію мережної підсистеми, наприклад динамічно додавати нові мережні протоколи або модулі, що реагують на події в мережній підсистемі. При цьому NKE сама є завантажуваним модулем ядра і органічно вписується в багаторівневу архітектуру ОС.
"Віртуальність" мережних протоколів, забезпечувана NKE, підкріплюється і віртуальною файловою системою (VFS – Virtual File System), властивою Unix, – Mac OS X може одночасно працювати з файловими системами форматів HFS+ (розширена ієрархічна файлова система, підтримувана "класичними" Mac OS 8 і 9), HFS (попередниця HFS+ з "Mac-світу"), UFS (класика в світі Unix), UDF (універсальний формат для CD ROM) і ISO9660 (стандартний формат CD ROM).
У зв'язку з корінною перебудовою ядра і архітектури Mac OS X її розробникам довелося шукати рішення, покликані забезпечити одночасно використання всіх можливостей нової ОС і підтримку додатків, створених для попередніх версій Mac OS. Таким рішенням стало створення трьох типів програмного оточення (арplication environment).
Рис. 1.. Classic
Classic. Mac OS X сама по собі не підтримує додатки, створені для попередніх версій Mac OS. Тому для їх виконання запускається специфічний додаток, іменоване Classic і є... варіантом Mac OS 9. Ось на цьому віртуальному комп'ютері і виконуються всі додатки старих ОС. Якщо закрити додаток Classic, всі працюючі в ньому