Ядро Линукс
Драйверы
Что это такое:
- Устройства не умеют напрямую «разговаривать» с ядром — для этого нужны драйверы.
- Драйвер — это программа/код, который выполняется в режиме ядра (kernel space) с максимальными привилегиям и он знает, как управлять конкретным устройством. Одна ошибка в драйвере может привести к падению всей системы (kernel panic).
Как драйверы попадают в ядро:
- Часть драйверов уже встроена в ядро по умолчанию.
- Другие можно установить отдельно: они подгружаются как модули ядра (`.ko` files — Kernel Object), которые загружаются в память при необходимости.
Интерфейсы ядра:
- Ядро предоставляет стандартизированные интерфейсы для разных классов устройств: блочные (диски), символьные (терминалы), сетевые и т.д.
- Благодаря этим интерфейсам драйверу не нужно «изобретать велосипед», он реализует определённый набор функций по стандарту.
Пример:
- Подключаешь жёсткий диск → ядро через драйвер и стандартный интерфейс сразу умеет:
- читать сектора,
- записывать данные в нужные сектора,
- создавать и удалять файлы (через файловую систему, которая работает поверх этого драйвера (ext4, NTFS, Btrfs и т.д.)).
Итого:
Драйвер = «переводчик» между устройством и ядром.
Ядро предоставляет «единый стандарт» (Linux kernel API), чтобы работать с любым устройством одного класса одинаково.
1 минута
15 июня