iOS построена на ядре XNU — гибридном ядре, которое Apple развивает с конца 1990-х годов и которое лежит в основе всех операционных систем компании: macOS, iPadOS, watchOS и tvOS. Внутри XNU объединены компоненты микроядра Mach, части кода FreeBSD и собственные драйверные подсистемы Apple, поэтому корректный короткий ответ на вопрос «на чем основана iOS» звучит так: на Unix-подобной системе Darwin с ядром XNU.
Это не Linux и не «чистый» Unix, хотя родство с Unix-миром здесь прямое и документированное. Ниже разберем, из каких слоев состоит система, откуда взялся каждый компонент, чем iOS отличается от Android на уровне ядра и почему эта архитектура определяет безопасность и ограничения iPhone.
Darwin — открытый фундамент iOS
Базовый слой всех операционных систем Apple называется Darwin. Это открытая Unix-подобная ОС, исходный код которой Apple публикует на своем портале opensource.apple.com (в разные годы доступность отдельных компонентов менялась). Именно Darwin включает ядро, драйверы, системные библиотеки и командные инструменты, поверх которых работают фирменные графические фреймворки.
Исторически корни Darwin уходят в систему NeXTSTEP, созданную компанией NeXT, которую основал Стив Джобс после ухода из Apple. Когда Apple приобрела NeXT в конце 1990-х, технологии NeXTSTEP стали основой Mac OS X, а позже — и iOS. Поэтому наследие в iOS тянется через три десятилетия разработки.
Проверить родство с Unix можно и на практике: если подключиться к устройству с джейлбрейком через терминал, внутри обнаружатся привычные Unix-команды — ls, ps, top, файловая иерархия с каталогами вроде /var и /usr. На стандартном iPhone без взлома доступа к консоли нет, и это осознанное решение Apple.
Ядро XNU: Mach плюс BSD
Аббревиатура XNU расшифровывается как «X is Not Unix» — ироничное название, подчеркивающее, что это не сертифицированный Unix, хотя поведение системы во многом Unix-совместимое. Ядро гибридное: оно сочетает два исторических подхода.
- 🧩 Mach — микроядро, разработанное в Университете Карнеги — Меллона. Отвечает за управление процессами, потоками, виртуальной памятью и межпроцессное взаимодействие.
- 🧩 BSD-слой — код, заимствованный преимущественно из FreeBSD: сетевой стек, файловые системы, POSIX-интерфейсы, модель процессов и пользователей.
- 🧩 IOKit — собственный фреймворк Apple для написания драйверов на подмножестве C++.
- 🧩 libkern, libsa и вспомогательные библиотеки — базовые примитивы, необходимые ядру для работы.
Такая гибридная конструкция была компромиссом: чистые микроядра того времени проигрывали в производительности, а монолитные ядра — в гибкости. Apple объединила оба мира в одном адресном пространстве ядра, получив скорость монолита при модульной архитектуре.
Почему Apple не взяла Linux
Linux распространяется под лицензией GPL, которая требует открывать производные работы. BSD-лицензия позволяет использовать код в закрытых коммерческих продуктах без обязательной публикации изменений, что идеально подходило бизнес-модели Apple. Плюс к моменту создания NeXTSTEP ядро Linux еще только зарождалось.
Слои архитектуры iOS
Поверх Darwin в iOS работают несколько программных слоев. Apple традиционно описывает их в документации для разработчиков, и понимание этой структуры помогает осознать, почему система ведет себя именно так.
| Слой | Назначение | Примеры компонентов |
|---|---|---|
| Core OS | Низкоуровневые сервисы поверх ядра | Security, Accelerate, ядро XNU |
| Core Services | Базовые системные сервисы | Foundation, Core Foundation, CloudKit |
| Media | Графика, звук, видео | Metal, Core Animation, AVFoundation |
| Cocoa Touch | Интерфейсные фреймворки | UIKit, SwiftUI, MapKit |
Чем выше слой, тем ближе он к приложениям и тем строже ограничения. Прямой доступ к ядру сторонним программам закрыт: каждое приложение работает в изолированной «песочнице» (sandbox) и взаимодействует с системой только через разрешенные API. Это ключевое отличие от десктопных Unix-систем, где пользователь с правами root может менять практически все.
⚠️ Внимание: инструменты джейлбрейка снимают ограничения песочницы и открывают root-доступ к Darwin-слою. Это нарушает модель безопасности iOS, лишает устройство части защитных механизмов и может привести к отказу в гарантийном обслуживании.
Чем iOS отличается от Android на уровне основы
Частый вопрос: если iOS основана на Unix, а Android — тоже «что-то Unix-подобное», то в чем разница? Разница принципиальная. Android использует модифицированное ядро Linux с собственными патчами Google, тогда как iOS опирается на XNU с BSD-компонентами. Это разные ветви Unix-мира, развивавшиеся независимо.
Из этого следуют практические различия. В Android приложения исторически выполнялись в виртуальной машине (сначала Dalvik, затем ART), а в iOS код компилируется в нативные инструкции процессора заранее. Управление памятью, планировщик задач, система разрешений и драйверная модель у систем тоже разные, хотя на уровне пользовательского опыта обе решают схожие задачи.
Проверить, какая ОС стоит на вашем устройстве, и узнать ее версию можно в настройках: Настройки → Основные → Об этом устройстве. Там же отображается модель и серийный номер — эти данные нужны, если вы сверяете совместимость устройства с новыми версиями системы.
Почему архитектура определяет безопасность
Выбор основы — не академический вопрос: именно архитектура Darwin и XNU позволила Apple выстроить многоуровневую защиту, которая считается одной из сильных сторон платформы. Несколько механизмов работают непосредственно благодаря контролю над ядром и железом.
- 🔒 Secure Enclave — отдельный защищенный сопроцессор для ключей шифрования и биометрии, изолированный от основной системы.
- 🔒 Подпись кода — ядро отказывается исполнять код без действительной цифровой подписи Apple или разработчика.
- 🔒 Sandbox — каждое приложение ограничено собственным контейнером и не видит данные других программ без явного разрешения.
- 🔒 Защищенная цепочка загрузки — каждый этап старта системы проверяет подлинность следующего.
Обратная сторона — закрытость. Пользователь не может установить ядро-модуль, заменить системные компоненты или получить root-доступ штатными средствами. Для большинства владельцев это плюс, для энтузиастов — ограничение, которое и порождает спрос на джейлбрейк.
⚠️ Внимание: если на устройстве внезапно появились приложения, которых вы не устанавливали, или система ведет себя необычно, возможной причиной бывает скомпрометированный профиль или взломанное устройство. Проверьте раздел Настройки → Основные → VPN и управление устройством на наличие незнакомых профилей.
Родственные системы: одна основа, разные оболочки
Один и тот же фундамент Darwin/XNU используется во всей линейке Apple. iPadOS фактически является вариантом iOS с интерфейсными доработками под большой экран. watchOS и tvOS — урезанные версии той же базы под часы и приставку. macOS — старший родственник, от которого iOS когда-то и отпочковалась.
Эта унификация объясняет, почему функции вроде Handoff, общего буфера обмена и AirDrop работают между устройствами сравнительно бесшовно: под капотом у них общие системные сервисы и протоколы. Разработчикам это тоже упрощает жизнь — значительная часть кода переносится между платформами.
☑️ Как проверить основу системы на вашем устройстве Apple
Часто задаваемые вопросы
iOS основана на Linux?
Нет. iOS построена на ядре XNU, которое объединяет микроядро Mach и компоненты BSD. Linux — отдельное ядро с другой историей и лицензией; общего кода между iOS и Linux практически нет, хотя обе системы принадлежат широкому Unix-подобному семейству.
Правда ли, что iOS — это Unix?
Формально сертификацию UNIX проходит macOS, а не iOS. Но по архитектуре и поведению iOS является Unix-подобной системой: внутри работают POSIX-интерфейсы, процессы, файловая иерархия и командные инструменты, унаследованные от BSD.
Что такое Darwin и где его можно увидеть?
Darwin — открытая базовая ОС, лежащая в основе iOS и macOS. Увидеть его название можно, выполнив команду uname -a в терминале macOS: в выводе будет указано Darwin и версия ядра. Исходный код Darwin Apple публикует в открытом доступе.
Почему Apple выбрала BSD, а не Linux?
Основные причины — исторические и лицензионные. Система NeXTSTEP, ставшая фундаментом современных ОС Apple, создавалась на базе Mach и BSD еще до появления зрелого Linux. Кроме того, BSD-лицензия разрешает использовать код в закрытых продуктах, в отличие от GPL, под которой распространяется Linux.
Можно ли получить доступ к Unix-консоли на iPhone?
Штатными средствами — нет: Apple не предоставляет терминал и root-доступ. Такой доступ появляется только после джейлбрейка, что снимает системные ограничения, ослабляет защиту устройства и может повлечь отказ в гарантийном обслуживании.