Разработка модулей ядра Linux — Потоки ядра kthreads

preview_player
Показать описание
Поговорим о потоках ядра, а также о нескольких хороших практиках при разработке модулей ядра.

Ядру часто бывает необходимо выполнять какую-то работу в фоновом режиме. Это делается с помощью потоков ядра (kernel threads) –стандартных процессов, которые существуют исключительно в пространстве ядра (kernel-space). Потоки ядра, в отличии от обычных процессов, не имеют своего адресного пространства, работают только в пространстве ядра и не переключают контекст в юзерспейс. Но они являются планируемыми (schedulable) и вытесняемыми (preemptable) так же, как и обычные процессы.

Ядро Linux. Описание процесса разработки ядра.

Тайм-коды:
00:00:00 — Вкратце о потоках ядра kernel threads
00:09:07 — Обзор kthread API
00:16:36 — Пару слов о NUMA
00:20:12 — Как реализована и работает kthread_create
00:23:45 — Пример модуля ядра, использующего потоки kthreads
01:41:14 — Результат работы созданного модуля ядра

#linux #потоки #kthread #kernel #threads #threading #линукс #линюкс #ядро #поток #многопоточность #модули #embedded
Рекомендации по теме