Linux notes #9 — Ядро Linux

Ядро 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