Поделиться в MAX

Первый модуль ядра на C и инструменты для его разглядывания

Аватар автора
Первый модуль ядра на C и инструменты для его разглядывания, запись прямого эфира 4 апр. 2025 г. “Hello, world!” для модулей ядра (читай — будущих драйверов). Напишем. Запустим. Отладим. Разглядим под микроскопом. Linux only, зато очень разный Linux. И конечно, C — точней, то, что от него осталось на пути к системному программированию. Таймлайн: 00:00 – Введение: тема — модули ядра, учимся на практике 00:51 – Особенности ядра: это «почти C», но на деле — другой мир 01:42 – Логическая схема: реальное устройство «железо–ядро–приложение» 02:53 – Почему нужны драйверы: связь приложения с железом 04:04 – Модули ядра: зачем, как, где в системе 05:05 – Напоминание: как устроено физическое железо 06:06 – Зачем модуль: операционка общается с драйверами через API 07:11 – Противопоставление: теория vs. практика — побеждает практика 08:07 – Первый модуль: Hello World ядра — пустой модуль 09:03 – Разбор структуры модуля: нет `main()`, вместо него `init/exit` 10:02 – `module_init` и `module_exit`: макросы, не функции 11:02 – Вопросы по структуре: зачем возвращаемое значение, зачем лицензия 12:29 – Возвращаемое значение в `init`, но не в `exit`: почему 13:14 – Пустой модуль — но уже масса нюансов 14:00 – Попытка компиляции — не работает: не видит заголовков 15:03 – Почему не работает: нужны заголовки ядра и правильный способ сборки 16:04 – Решение: `Makefile`, который делегирует сборку ядру 17:05 – Объяснение: как работает `make -C /lib/modules/.../build` 18:50 – `obj-m` в Makefile...

0/0


0/0

0/0

0/0

0/0