Поскольку Linux - это просто ядро, стоит обсудить основные различия между ядром Linux и ядром Unix. Существует три типа ядра: монолитное, микро и гибридное (сочетание монолитного и микро), как показано на изображении ниже.
В монолитной архитектуре ядра вся ОС работает в пространстве одного ядра. Оно единолично определяет высокоуровневый виртуальный интерфейс поверх компьютерного оборудования.Хотя ядро Linux заимствует большинство своих характеристик от Unix / Unix-подобных ядер, однако между ними есть некоторые существенные различия. В архитектуре микроядра основные службы ОС работают в одном процессе, а другие службы - в разных процессах. В ядре µ почти минимальное количество механизмов включено в режим ядра. Эти механизмы включают базовый IPC (межпроцессное взаимодействие), планирование и низкоуровневое управление адресным пространством.С точки зрения размера исходного кода, как правило, микроядро меньше монолитного ядра.
Добавление / удаление функций ядра Предоставляет отличную функцию, с помощью которой компоненты ядра, такие как диски устройств, могут быть динамически добавлены и удалены как модули. Эта функция называется загружаемыми модулями ядра (LDM). Это избавляет от необходимости заново компилировать все ядро. Эта функция, в свою очередь, дает Linux большую гибкость.
Традиционное ядро систем Unix требует статической компоновки добавляемых новых систем. В Linux нет подсистемы потокового ввода-вывода. В большинство ядер Unix включена подсистема потокового ввода-вывода, которая оказывается желаемым интерфейсом для написания драйверов устройств, драйверов терминалов и т. д.
Превентивный подход или подход без вытеснения Обычно ядро Linux не является вытесняющим. Однако в последнее время ОС реального времени Linux начала использовать вытесняющие ядра. Некоторые системы Unix полностью вытесняют.Например, Solaris 2.x. и т.п.
Поток ядра Linux использует поток ядра только для периодического запуска некоторого кода ядра. Многие Unix-подобные операционные системы используют поток ядра для переключения контекста процесса. Способы обработки многопоточной среды Благодаря многопоточности создается несколько независимых потоков выполнения, которые называются облегченными процессами (LWP). В Linux LWP создается путем вызова функции clone (). Эти процессы в Linux могут совместно использовать физическую память, открытые файлы, адресное пространство и т. д. В Unix LWP основан на потоках ядра.
В Linux нет подсистемы потокового ввода-вывода. В большинство ядер Unix включена подсистема потокового ввода-вывода, которая оказывается желаемым интерфейсом для написания драйверов устройств, драйверов терминалов и т. д.
Ссылки
https://www.softwaretestinghelp.com/unix-vs-linux/