1

OSX обычно рассматривается как графическая оболочка поверх BSD. В последнее время кажется, что Apple все больше и больше добавляет к «основной» функциональности ОС (песочница, управление версиями). Есть ли устойчивый прогресс в конечном итоге полностью проприетарном ядре, или подход микроядра достаточно гибок, чтобы его можно было сохранить?

1 ответ1

2

Статья в Википедии о XNU дает ответы на большинство вопросов.

XNU был гибридным ядром, сочетающим в себе версию 2.5 ядра Mach, разработанную в Университете Карнеги-Меллона, с компонентами из 4.3BSD и объектно-ориентированным API для написания драйверов под названием Driver Kit. После того как Apple приобрела NeXT, компонент Mach был обновлен до 3.0, компоненты BSD были обновлены с помощью кода из проекта FreeBSD, а набор драйверов был заменен на C++ API для написания драйверов под названием I/O Kit.

...

Часть ядра Berkeley Software Distribution (BSD) ядра предоставляет POSIX API (системные вызовы BSD), модель процесса Unix поверх задач Маха, основные политики безопасности, идентификаторы пользователей и групп, разрешения, сетевой стек, код виртуальной файловой системы ( включая независимый от файловой системы уровень журналирования), несколько локальных файловых систем, таких как HFS/HFS+, клиент и сервер сетевой файловой системы (NFS), криптографическая структура, межпроцессное взаимодействие UNIX System V (IPC), подсистема аудита, обязательный контроль доступа, и некоторые из блокирующих примитивов. Код BSD, представленный в XNU, взят из ядра FreeBSD. Несмотря на то, что многое из этого было значительно изменено, совместное использование кода все еще происходит между Apple и проектом FreeBSD.

Таким образом, графическая оболочка OS X не располагается поверх ядра BSD. Ядро является гибридным, и я считаю, что оно не совпадает с ядром в любой основной системе из FreeBSD, OpenBSD, NetBSD или любого другого варианта BSD. Только относительно небольшая (но важная) часть BSD находится в OSX.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .