Ядро Linux — это основная часть ОС, которая отвечает за управление всеми ресурсами компьютера, такими как процессор, память, устройства ввода-вывода и другими. Кроме того оно принимает решения о том, что делать с запросами от программ, как распределять ресурсы между ними, обеспечивает взаимодействие между аппаратным и программным обеспечением и т.д.
Ядро Linux поддерживает многозадачность и многопоточность, позволяя нескольким процессам и потокам выполняться параллельно.
Простыми словами это мозг компьютера.
Файлы ядра лежат в /boot/
vmlinuz-0-rescue-88ccff74785a48499e5459ef925a918e
vmlinuz-5.14.0-284.11.1.el9_2.x86_64
vmlinuz-5.14.0-362.13.1.el9_3.x86_64
vmlinuz-5.14.0-362.8.1.el9_3.x86_64
Файлы отличаются версиями и меняются при обновлении ОС. Если с новой версией будут проблемы, мы сможет использовать рабочее предыдущее и загрузиться с него.
Посмотреть текущую версию
uname -r
5.14.0-362.13.1.el9_3.x86_64
Размер ядра
du -h /boot/vmlinuz-*
12M /boot/vmlinuz-0-rescue-88ccff74785a48499e5459ef925a918e
12M /boot/vmlinuz-5.14.0-284.11.1.el9_2.x86_64
13M /boot/vmlinuz-5.14.0-362.13.1.el9_3.x86_64
13M /boot/vmlinuz-5.14.0-362.8.1.el9_3.x86_64
Модули ядра — это отдельные части, которые динамически загружаются и выгружаются из него, позволяя добавлять или удалять новый функционал ядра без необходимости перекомпиляции всего ядра. Как правило применяются при добавлении поддержки различных устройств и файловых систем.
Как пример модуля — драйверы сетевых адаптеров или видеокарт.
Linux ядро монолитно, и все его компоненты работают в одном адресном пространстве.
Преимущество — все функции ядра доступны сразу после загрузки системы, обеспечивая высокую производительность.
Недостаток — изменения в ядре требуют перекомпиляции всего ядра.
Здесь в своей части и выручают модули.
Модули хранятся в /lib/modules для каждой версии.
Огромное количество драйверов уже предустановлены, но иногда бывает как и в Windows, что-то приходится устанавливать после (пример Nvidia или VirtualBox Extension Pack).
Среди полезных команд можно выделить
lscpu — о процессоре
lsusb — об устройствах подключенных к USB
lspci — об устройствах подключенных к PCI
lshw (list hardware) — подробная информация о аппаратном обеспечении компьютера
Чтобы увидеть что происходит в ядре в режиме реального времени
sudo dmesg -wH