Я провел несколько поисков в Google, но, похоже, не могу найти ответ, по крайней мере, не на первых двух страницах поиска. Я хотел знать, является ли ядро Ubuntu модульным или монолитным? Я видел одну статью, в которой говорилось, что большинство современных дистрибутивов очень модульные, но ничего конкретного, чтобы упомянуть конкретные.
Просто что-то интересное и хотелось узнать!
Ubuntu - это дистрибутив GNU / linux. В частности, это означает, что он использует ядро Linux.
Ядро Linux считается монолитным ядром.
У него есть модули, но все они совместно используют одну и ту же память (т. Е. Можно писать в «чужую» память), тогда как в модульном ядре разные части (например, драйверы) работают с отдельной памятью (и, в в некоторых случаях может даже потерпеть неудачу, не ставя под угрозу ядро в целом)
Ядро Linux является одновременно монолитным и модульным ядром :). Эти вещи не являются взаимоисключающими.
Монолитное ядро относится к ядру, все части которого имеют общее адресное пространство:
Это уменьшает количество включений контекста и обмена сообщениями, делая концепцию быстрее, чем Микроядро. С другой стороны, количество кода, выполняемого в пространстве ядра, делает ядро более подверженным фатальным ошибкам.
Противоположностью «монолитного ядра» является « микроядро », где ядро отвечает только за координацию служб, работающих в пользовательском пространстве, которые выполняют всю фактическую работу.
« Модульное ядро » означает, что
некоторая часть ядра системы будет находиться в независимых файлах, называемых модулями, которые могут быть добавлены в систему во время выполнения. В зависимости от содержимого этих модулей, цель может варьироваться, например:
- загрузка драйверов только в том случае, если устройство действительно найдено
- загрузка файловой системы только в случае фактического запроса
]- загружать код только для определенной политики (планирование / безопасность / что угодно) только тогда, когда она должна быть оценена
Эти модули все еще работают в пространстве ядра, а не в пространстве пользователя поэтому архитектура ядра все еще монолитна.