XNU

Поделись знанием:
Перейти к: навигация, поиск
Ядро XNU
Тип

Ядро ОС

Разработчик

NeXT, Apple

Операционная система

ОС Darwin, OS X, iOS

Лицензия

Apple Public Source License 2.0

Сайт

[www.opensource.apple.com/source/xnu/ nsource.apple.com/source/xnu/]

К:Википедия:Статьи без изображений (тип: не указан)

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

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

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





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

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

В настоящее время XNU может работать на процессорах с архитектурой ARM,[2] x86, x86-64 и PowerPC. Поддерживаются как одноядерные, так и SMP-системы.

Mach

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

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

BSD

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

Напишите отзыв о статье "XNU"

Примечания

  1. [developer.apple.com/documentation/Porting/Conceptual/PortingUnix/glossary/glossary.html#//apple_ref/doc/uid/TP40002859-DontLinkElementID_28 Porting UNIX/Linux Applications to Mac OS X: Glossary]. Apple Computer (2005). Проверено 27 марта 2009. [www.webcitation.org/69tH6UvBx Архивировано из первоисточника 13 августа 2012]. "The acronym stands for X is Not Unix"
  2. [www.engadget.com/2007/07/01/iphone-processor-found-620mhz-arm/ iPhone processor found: 620MHz ARM CPU] (1 July 2007)

Ссылки

  • [www.kernelthread.com/mac/osx/arch_xnu.html XNU: The Kernel] — обзор компонентов XNU // kernelthread.com
  • [chaosradio.ccc.de/24c3_m4v_2303.html Inside the Mac OS X Kernel]

Отрывок, характеризующий XNU

– Ежели бы знали, что вы этого хотите, праздник бы отменили, – сказал князь, по привычке, как заведенные часы, говоря вещи, которым он и не хотел, чтобы верили.
– Ne me tourmentez pas. Eh bien, qu'a t on decide par rapport a la depeche de Novosiizoff? Vous savez tout. [Не мучьте меня. Ну, что же решили по случаю депеши Новосильцова? Вы все знаете.]
– Как вам сказать? – сказал князь холодным, скучающим тоном. – Qu'a t on decide? On a decide que Buonaparte a brule ses vaisseaux, et je crois que nous sommes en train de bruler les notres. [Что решили? Решили, что Бонапарте сжег свои корабли; и мы тоже, кажется, готовы сжечь наши.] – Князь Василий говорил всегда лениво, как актер говорит роль старой пиесы. Анна Павловна Шерер, напротив, несмотря на свои сорок лет, была преисполнена оживления и порывов.
Быть энтузиасткой сделалось ее общественным положением, и иногда, когда ей даже того не хотелось, она, чтобы не обмануть ожиданий людей, знавших ее, делалась энтузиасткой. Сдержанная улыбка, игравшая постоянно на лице Анны Павловны, хотя и не шла к ее отжившим чертам, выражала, как у избалованных детей, постоянное сознание своего милого недостатка, от которого она не хочет, не может и не находит нужным исправляться.
В середине разговора про политические действия Анна Павловна разгорячилась.
– Ах, не говорите мне про Австрию! Я ничего не понимаю, может быть, но Австрия никогда не хотела и не хочет войны. Она предает нас. Россия одна должна быть спасительницей Европы. Наш благодетель знает свое высокое призвание и будет верен ему. Вот одно, во что я верю. Нашему доброму и чудному государю предстоит величайшая роль в мире, и он так добродетелен и хорош, что Бог не оставит его, и он исполнит свое призвание задавить гидру революции, которая теперь еще ужаснее в лице этого убийцы и злодея. Мы одни должны искупить кровь праведника… На кого нам надеяться, я вас спрашиваю?… Англия с своим коммерческим духом не поймет и не может понять всю высоту души императора Александра. Она отказалась очистить Мальту. Она хочет видеть, ищет заднюю мысль наших действий. Что они сказали Новосильцову?… Ничего. Они не поняли, они не могут понять самоотвержения нашего императора, который ничего не хочет для себя и всё хочет для блага мира. И что они обещали? Ничего. И что обещали, и того не будет! Пруссия уж объявила, что Бонапарте непобедим и что вся Европа ничего не может против него… И я не верю ни в одном слове ни Гарденбергу, ни Гаугвицу. Cette fameuse neutralite prussienne, ce n'est qu'un piege. [Этот пресловутый нейтралитет Пруссии – только западня.] Я верю в одного Бога и в высокую судьбу нашего милого императора. Он спасет Европу!… – Она вдруг остановилась с улыбкою насмешки над своею горячностью.
– Я думаю, – сказал князь улыбаясь, – что ежели бы вас послали вместо нашего милого Винценгероде, вы бы взяли приступом согласие прусского короля. Вы так красноречивы. Вы дадите мне чаю?
– Сейчас. A propos, – прибавила она, опять успокоиваясь, – нынче у меня два очень интересные человека, le vicomte de MorteMariet, il est allie aux Montmorency par les Rohans, [Кстати, – виконт Мортемар,] он в родстве с Монморанси чрез Роганов,] одна из лучших фамилий Франции. Это один из хороших эмигрантов, из настоящих. И потом l'abbe Morio: [аббат Морио:] вы знаете этот глубокий ум? Он был принят государем. Вы знаете?
– А! Я очень рад буду, – сказал князь. – Скажите, – прибавил он, как будто только что вспомнив что то и особенно небрежно, тогда как то, о чем он спрашивал, было главною целью его посещения, – правда, что l'imperatrice mere [императрица мать] желает назначения барона Функе первым секретарем в Вену? C'est un pauvre sire, ce baron, a ce qu'il parait. [Этот барон, кажется, ничтожная личность.] – Князь Василий желал определить сына на это место, которое через императрицу Марию Феодоровну старались доставить барону.