Многие думают, что между ядрами macOS и Linux много общего, так как они поддерживают схожие команды и программное обеспечение, а некоторые даже считают, что macOS от Apple базируется на ядре Linux. Однако правда заключается в том, что оба ядра имеют свою отдельную историю и ряд особенностей. В этой статье мы рассмотрим различия между ядрами macOS и Linux.
История ядра macOS
Начнём с истории ядра macOS. В 1985-м году Стив Джобс покинул Apple. Это произошло из-за разногласий с генеральным директором Джоном Скалли и советом директоров компании. Вскоре после этого Джобс основал компьютерную компанию под названием NeXT. Он хотел быстро вывести на рынок новый компьютер с новой операционной системой.
Для того, чтобы сэкономить время, было решено использовать ядро Mach и часть исходного кода BSD. Микроядро Mach, разработанное в университете Карнеги-Меллона, изначально служило исследовательским целям и создавалось как противопоставление ядру Unix. Однако для выполнения высокоуровневых задач вроде объектно-ориентированного программирования оно не подходило, поэтому реализацию этих возможностей возложили на надстройку BSD. Из такого симбиоза и появилась операционная система NeXTSTEP.
Компания NeXT так и не добилась финансового успеха. Это произошло во многом благодаря тому, что Джобс тратил деньги так, как будто он всё ещё работал в Apple. Сама же Apple тем временем безуспешно пыталась обновить свою операционную систему. Дошло до того, что предложение о сотрудничестве получил их главный конкурент — IBM. Однако в 1997-м году Apple выкупила NeXT за 429 миллионов долларов. Частью сделки было также и условие о том, что Стив Джобс должен будет вернуться в компанию. NeXTSTEP стала основой для создания macOS, iOS и последующих операционных систем Apple.
История ядра Linux
В отличие от macOS, Linux не предназначалась для получения коммерческой выгоды. ОС была создана в 1991-м году финским студентом Линусом Торвальдсом, проходившим обучение на факультете информатики. Вдохновением послужила книга «Операционные системы: разработка и реализация» Эндрю Таненбаума, в которой на примере Minix было рассмотрено семейство операционных систем Unix. Изначально ядро было написано для работы на компьютере Линуса. Он хотел использовать все возможности своего нового процессора Intel 80386.
Линус разместил код своего нового ядра в файлообменной сети Usenet в августе 1991-го года. Очень скоро он стал получать в ответ примеры кода и предложения о том, как улучшить ядро. Сообщения приходили со всего мира. В следующем году Орест Зборовски портировал X Window System на Linux, тем самым добавив в ОС графический интерфейс.
За последние 27 лет Linux развилась и обросла новыми возможностями. Это больше не кратковременный студенческий проект. Сегодня ядро Linux используется в качестве основы для интерфейсов множества компьютеров и гаджетов в мире, под его управлением работают мощнейшие суперкомпьютеры, входящие в Top 500. Согласитесь, звучит неплохо.
Особенности ядра macOS
Ядро macOS официально известно как XNU. Аббревиатура расшифровывается «XNU is Not Unix» (XNU — это не Unix). Согласно данным страницы Apple на Github, XNU — «гибридное ядро, совмещающее ядро Mach, разработанное в университете Карнеги-Меллона, с компонентами FreeBSD и API, написанном на C++ для написания драйверов». Часть подсистемы кода BSD «в системах с микроядром обычно реализует серверы в пользовательском пространстве». Часть Mach отвечает за низкоуровневую работу вроде многозадачности, создания защищённых участков памяти, управление виртуальной памятью, отладку ядра и консоли I/O.
Особенности ядра Linux
В то время, как ядро macOS совмещает особенности микроядра (Mach) и монолитного ядра (BSD), Linux базируется на исключительно монолитном ядре. Монолитное ядро управляет процессором и памятью, связями между процессами, драйверами устройств, файловой системой и вызовами системных серверов.
Выводы
Ядро macOS (XNU) существует дольше, чем Linux, базируется на сочетании кода двух ещё более старых ядер. С другой стороны, Linux новее, написана с нуля и используется на большем количестве устройств.
Источник: https://itsfoss.com/mac-linux-difference/