XNU (акроним англ. X is Not Unix[3]) — ядро компьютерных операционных систем, разрабатываемое компанией Apple и используемое в ОС семейства macOS. Исходные коды ядра были опубликованы под открытой лицензией (APSL 2.0) как часть ОС Darwin.

Ядро XNU
Скриншот программы Ядро XNU
ТипЯдро ОС
РазработчикиNeXT, Apple
Написана наC++ и Си
Операционные системыОС Darwin, macOS, iOS
Последняя версия
Репозиторийgithub.com/apple-oss-dis…
ЛицензияApple Public Source License 2.0
Сайтopensource.apple.com/sou…

Изначально ядро разрабатывалось компанией NeXT для ОС NeXTSTEP. Архитектурно являлось гибридным ядром на базе микроядра Mach версии 2.5 (разработано в Университете Карнеги — Меллона), компонентов от 4.3BSD[источник не указан 3756 дней] и объектно-ориентированного интерфейса драйверов Driver Kit.

После приобретения NeXT компанией Apple микроядро Mach было обновлено до версии 3.0, компоненты ядра BSD были обновлены с использованием наработок проекта FreeBSD, а Driver Kit был заменён на C++ API для драйверов под названием I/O Kit.

Архитектура ядра

Ядро XNU является современным гибридным ядром, сочетающем в себе преимущества как монолитных, так и микроядер, в частности, возможности по передаче сообщений микроядер для повышения модульности системы и защиты памяти разных модулей и высокую скорость монолитных ядер в некоторых критичных задачах. [источник не указан 3500 дней]

В настоящее время XNU может работать на процессорах с архитектурой ARM,[4] x86, x86-64. Поддержка PowerPC закончилась начиная с версии 10 (т.е. Mac OS X 10.6). Поддерживаются как одноядерные, так и SMP-системы.

Mach

Основой ядра XNU является простое микроядро Mach, которое запускает монолитное ядро как отдельный процесс. За счет этого достигается некоторая гибкость (например, на одном экземпляре Mach можно запустить несколько экземпляров монолитного ядра), но также это связано с потерями производительности из-за большего количества переключений контекста (режим ядра/режим пользователя) и необходимости отображения или копирования содержимого сообщений между адресными пространствами микроядра и демонов. При разработке Mac OS X микроядро было дополнено некоторыми функциями ядра BSD.

Mach поддерживает и управляет потоками, процессами, вытесняющей многозадачностью, передачей сообщений (Межпроцессное взаимодействие), защитой памяти, виртуальной памятью. Также ядро имеет поддержку мягкого real-time, отладки ядра и консольного (текстового) ввода-вывода.

FreeBSD

Основанная на FreeBSD часть ядра реализует интерфейсы POSIX, системные вызовы FreeBSD, модель процессов Unix на базе процессов Mach, основные политики безопасности, пользовательские и групповые идентификаторы, права доступа к файлам, сетевой стек, виртуальную файловую систему (включая уровень журналирования), несколько типов локальных файловых систем (HFS/HFS Plus), NFS-клиент и сервер, криптографические функции, System V IPC, подсистему аудита, mandatory access control и некоторые примитивы блокировок. Исходный код FreeBSD, использующийся в XNU, частично унаследован от ядра BSDi.

Примечания

Ссылки

🔥 Top keywords: Заглавная страницаЯндексДуров, Павел ВалерьевичСлужебная:ПоискYouTubeЛунин, Андрей АлексеевичПодносова, Ирина ЛеонидовнаВКонтактеФоллаут (телесериал)WildberriesTelegramРеал Мадрид (футбольный клуб)Богуславская, Зоя БорисовнаДуров, Валерий СемёновичРоссияXVideosСписок умерших в 2024 годуЧикатило, Андрей РомановичFallout (серия игр)Список игроков НХЛ, забросивших 500 и более шайбПопков, Михаил ВикторовичOzon17 апреляИльин, Иван АлександровичMail.ruСёгун (мини-сериал, 2024)Слово пацана. Кровь на асфальтеПутин, Владимир ВладимировичЛига чемпионов УЕФАГагарина, Елена ЮрьевнаБишимбаев, Куандык ВалихановичЛига чемпионов УЕФА 2023/2024Турнир претендентов по шахматам 2024Манчестер СитиMGM-140 ATACMSРоссийский миротворческий контингент в Нагорном КарабахеЗагоризонтный радиолокаторПинапВодительское удостоверение в Российской Федерации