В статье не хватает (см. ). |
Моноли́тное ядро́ — классическая и наиболее распространённая архитектура ядер операционных систем на сегодняшний день. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном (адресном пространстве).
![image](https://www.wikidata.ru-ru.nina.az/image/aHR0cHM6Ly93d3cud2lraWRhdGEucnUtcnUubmluYS5hei9pbWFnZS9hSFIwY0hNNkx5OTFjR3h2WVdRdWQybHJhVzFsWkdsaExtOXlaeTkzYVd0cGNHVmthV0V2WTI5dGJXOXVjeTkwYUhWdFlpOHhMekZpTDB0bGNtNWxiQzF0YjI1dmJHbDBhR2xqTG5OMlp5OHlNakJ3ZUMxTFpYSnVaV3d0Ylc5dWIyeHBkR2hwWXk1emRtY3VjRzVuLnBuZw==.png)
Монолитные ядра имеют долгую историю развития и усовершенствования и на данный момент являются наиболее архитектурно зрелыми и пригодными к эксплуатации. Вместе с тем монолитность ядер усложняет их отладку, понимание кода ядра, добавление новых функций и возможностей, удаление «мёртвого», ненужного, унаследованного от предыдущих версий кода. «Разбухание» кода монолитных ядер также повышает требования к объёму оперативной памяти, требуемому для функционирования ядра ОС. Это делает монолитные ядерные архитектуры малопригодными к эксплуатации в системах, сильно ограниченных по объёму ОЗУ, например встраиваемых системах, производственных микроконтроллерах и т. д.
Альтернативой монолитным ядрам считаются архитектуры, основанные на (микроядрах).
Подгружаемые модули
Старые монолитные ядра требовали перекомпиляции при любом изменении состава оборудования. Большинство современных ядер, такие как OpenVMS, Linux, FreeBSD, (NetBSD) и (Solaris), позволяет во время работы динамически (по необходимости) подгружать и выгружать модули, выполняющие часть функций ядра. Модульность ядра осуществляется на уровне бинарного образа, а не на архитектурном уровне ядра, так как динамически подгружаемые модули загружаются в адресное пространство ядра и в дальнейшем работают как интегральная часть ядра. Модульные монолитные ядра не следует путать с архитектурным уровнем модульности, присущим (микроядрам) и гибридным ядрам. Практически, динамическая загрузка модулей — это просто более гибкий способ изменения образа ядра во время выполнения — в отличие от перезагрузки с другим ядром. Модули позволяют легко расширить возможности ядра по мере необходимости. Динамическая подгрузка модулей помогает сократить размер кода, работающего в пространстве ядра, до минимума, например, свести к минимуму размер ядра для встраиваемых устройств с ограниченными аппаратными ресурсами.
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер