Понятие ядра применимо не ко всем операционным системам. Он широко распространен, но как именно применить его к конкретной системе, может быть предметом споров.
В случае мультипрограммных систем, где программы изолированы друг от друга, существует точное определение ядра: ядро — это часть системы, которая имеет доступ ко всему. Ядро — это часть, которая не изолирована. Роль ядра состоит как минимум в обеспечении механизма изоляции, но оно может делать и больше. В традиционной архитектуре ядра Unix, которая включает Linux, ядро также содержит аппаратные драйверы, сетевые протоколы, драйверы файловой системы и т. д.
В большинстве систем изоляция между запущенными программами зависит от аппаратных характеристик (режимы привилегий процессора, блок ). Таким образом, ядро является частью системы, работающей в режиме наивысших привилегий процессора, режиме, в котором можно контролировать привилегии всей системы. На процессорах x86 этот режим называется «кольцо 0»; обратите внимание, что «кольцо 0» — это терминология x86, а не общее понятие. Общая концепция называется «режим ядра», «привилегированный режим» или «режим супервизора».
Утверждение «модули ядра обрабатывают ввод-вывод и управление памятью кольца 0» не имеет смысла. Ядро в целом занимается управлением памятью (на уровне решения, какой процесс владеет какой памятью и по какому адресу он к ней обращается) и вводом-выводом (на уровне копирования данных в периферийные устройства и из них). Ядро в целом работает в режиме ядра процессора, который соответствует 0-му кольцу на процессоре x86.
Модуль ядра — это часть ядра, которая загружается после загрузки. Единственная разница между модулем и загрузочным кодом заключается в том, как он загружается. Код в модуле ядра работает с тем же уровнем привилегий, что и код ядра, загруженный во время загрузки, и может выполнять те же функции (любой код, который может быть загружен как модуль, также может быть включен в образ во время загрузки). Многие современные системы Unix имеют модули ядра, включая Solaris, *BSD, Linux и т. д.
.